如何为ListView的上下文菜单设置onContextItemClickListener?

3
我曾使用以下代码为我的listview设置上下文菜单。现在我想为该上下文菜单创建onContextItemClickListener。显然没有像listview.setOnContextItemClickListener这样的方法。请在此处帮助我。
    ListView listView = new ListView(getApplicationContext());

            @SuppressWarnings("unchecked")
            ArrayAdapter listViewArrayAdapter =      new ArrayAdapter(getApplicationContext(),
                   android.R.layout.simple_list_item_1, locations);
            listView.setAdapter(listViewArrayAdapter);
            listView.setFocusableInTouchMode(true);
            listView.setOnFocusChangeListener(
                new View.OnFocusChangeListener() {
              @Override
              public void onFocusChange(View arg0, boolean arg1) {
                Log.i("SampleApp", "onFocusChanged() - view=" + arg0);
              }
            });
            listView.setOnItemClickListener( new AdapterView.OnItemClickListener() {
              @Override
              public void onItemClick(AdapterView adapterView, View view,
                  int arg2, long arg3) {
                int selectedPosition = adapterView.getSelectedItemPosition();
                Log.i("SampleApp", "Click on position"+selectedPosition);
              }
            });
            listView.setOnCreateContextMenuListener(
                    new View.OnCreateContextMenuListener() {

                  public void onCreateContextMenu(ContextMenu menu, View view,
                      ContextMenu.ContextMenuInfo menuInfo) {
                    AdapterContextMenuInfo mi = (AdapterContextMenuInfo) menuInfo;
                    menu.add(0, 0, 0, "Delete");




                  }



            });
1个回答

1
您应该添加:

// we register for the contextmneu        
registerForContextMenu(lv);

要为上下文菜单注册(即,lv是ListView的实例)然后执行以下操作:

// This method is called when user selects an Item in the Context menu
 @Override
   public boolean onContextItemSelected(MenuItem item) {
      int itemId = item.getItemId();
      // do your logic here
      return true;
   }

希望这是你所寻找的内容。 附注:如果你感兴趣,我写了一篇相关的文章,请看此处

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接