2014-04-28 3 views
4

Я использовал следующий код для установки контекстного меню для своего списка. Теперь я хочу создать onContextItemClickListener для этого контекстного меню. По-видимому, нет такого метода, как listview.setOnContextItemClickListener. Пожалуйста, помогите мне здесь.Как установить onContextItemClickListener для контекстного меню ListView?

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

Вы должны добавить:

// we register for the contextmneu   
registerForContextMenu(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; 
    } 

Надежда это то, что вы ищете , PS: Если вам интересно, я написал (-а) сообщение об этом, дайте посмотреть here

Смежные вопросы