我的android 第19天 - 上下文菜单

我的android 第19天 - 上下文菜单
 

  实现流程

       5、对列表项注册上下文菜单

          . registerForContextMenu(listView)或者

            listView.setOnCreateContextMenuListener(this);

            给liestView注册上下文菜单

          . onCreateContextMenu(ContextMenu menu, View v,

             ContextMenuInfo menuInfo):创建列表项的上下文菜单

             此方法每次显示上下文都会触发

          . 装配上下文菜单(与选择菜单差不多)

          . 设置上下文菜单的标题:menu.setHeaderTitle(name);

6、监听上下文菜单

•onContextItemSelected
•对上下文菜单进行业务处理
 /**
     * 每次显示上下文菜单的时都会触发(每次长按ListView的列表项显示上下文菜单 */
    public void onCreateContextMenu(ContextMenu menu, View v,
    ContextMenuInfo menuInfo) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
    // 取出当前Item对应的map数据
    HashMap<String, Object> map = data.get(info.position);
    // 取得书名
    String name = map.get(NAME).toString();
    // 设置上下文菜单的顶部标题
    menu.setHeaderTitle(name);
    getMenuInflater().inflate(R.menu.menu_book_context, menu);
    }


    /**
     * 监听选择菜单的点击 */
    public boolean onOptionsItemSelected(MenuItem item) {
    int itemId = item.getItemId();
    switch (itemId) {
case R.id.menu_add: // 添加
menuEidtOrAdd(null);
break;

case R.id.menu_delete: // 删除
optionsMenuDelete();
break;

case R.id.menu_good_look: // 好看
case R.id.menu_not_good_look: // 不好看
optionsMenuGoodLookOrNot(itemId);
break;
}
    return super.onOptionsItemSelected(item);
    }
 

下载视频代码

猜你喜欢

转载自htmlunit26.iteye.com/blog/1984448