2017-01-09 10 views
0

У меня есть ListView, заполненный CustomAdapter, который должен отображать ContextMenu после долгого нажатия.Создание ContextMenu со списком ListView

Я стараюсь делать это как, например:

// in OnCreateView 
ListView list = (ListView) view.findViewById(R.id.list); 

registerForContextMenu(list); 

и

@Override 
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu, v, menuInfo); 
    MenuInflater inflater = getActivity().getMenuInflater(); 
    inflater.inflate(R.menu.todo_context_menu, menu); 
} 

@Override 
public boolean onContextItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case R.id.edit: 
      // Do something 
      return true; 
     case R.id.delete: 
      // Do something 
      return true; 
     default: 
      return super.onContextItemSelected(item); 
    } 
} 

И мой todo_context_layout.xml существо:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/edit" android:title="Edit"/> 
    <item android:id="@+id/delete" android:title="Delete"/> 
</menu> 

Длинное нажатие делает вызвать OnItemLongClickListener, но не отображается контекстное меню. Что я делаю не так?

Прочитав следующее thread, я не смог найти ответ на свой вопрос.

ответ

0

Если вы хотите показать контекстное меню, вам не нужен longclicklistener. Попробуйте без этого слушателя.

+0

Я уже делаю :) –

+0

Извините, не видел .. У вас есть дополнительный longclicklistener? – beeb

+0

У меня есть «OnItemLongClickListener» да, и он вызывает вызов, но не 'onCreateContextMenu' по какой-то причине –

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