2017-01-09 13 views
0

ListViewにはCustomAdapterが含まれています。これは長いクリックの後にContextMenuと表示されます。ListViewを使用したContextMenuの作成

私は、このようなようにそれをやろう:

// 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'をyesにしていますが、何らかの理由で' onCreateContextMenu'を呼び出すことはありません。 –

関連する問題