2014-01-22 71 views
3

我有一個ListFragment,我使用registerForContextMenu()註冊上下文菜單,我覆蓋onCreateContextMenu()。 問題是我長時間按任何項目時都不會調用onCreateContextMenu()Android - ListView - 上下文菜單不工作

下面是一些代碼:

public class List_F extends ListFragment { 
    @Override 
    public void onActivityCreated(Bundle arg0) { 
     super.onActivityCreated(arg0); 

     registerForContextMenu(getListView()); 

     setListAdapter(...); 
     setListShown(false); 

     // launch cursor loader 
    } 

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

    @Override 
    public boolean onContextItemSelected(MenuItem item) { 
     AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); 
     int i = item.getItemId(); 
     if (i == R.id.menu_item_delete) { 
      delete(info.id); 
      return true; 
     } else { 
      return super.onContextItemSelected(item); 
     } 
    } 
} 

任何想法,爲什麼?

我也試過

getListView().setOnItemLongClickListener() 

,它不是甚至稱。

有什麼想法?

回答

4

發現罪魁禍首!

我在Adapter的視圖上設置了OnClickListener

這可能是吃長時間的事件。

我在每個視圖改變OnClickListenerOnItemClickListenerListView