2012-04-27 7 views
0

私はリストビューを持っていますが、そこにはいくつかのlistItemがあります。 registerForContextMenu(mListView);を使用してコンテキストメニューのリストビューを登録しました。今私が望むのは、ユーザがリストビューの最初の項目を長押しすると、その項目のコンテキストメニューが表示されるべきではなく、残りの項目すべてに対して、ユーザが長押しした場合にコンテキストメニューがポップアップするはずですそれら。私たちはこれをすることができますか?ListViewの最初のlistItemのコンテキストメニューを表示しない

+0

この回答を参照してください。http://stackoverflow.com/a/2453661/1037294 –

+0

私はそのスレッドで生成され得ることから、コンテキストメニューを防止するための方法を見つけたことができませんでした。それは、選択されているcontextMenuItemの位置ですが、ダイアログが表示されないようにしています – Rajkiran

答えて

2

代わりにOnItemLongClickListenerを使用してポジションの長押しアイテムの値を返すことをお勧めします。その値を考慮することで、ダイアログのオプションを表示するか、無視するかを決めることができます。例えば

yourListView.setOnItemLongClickListener(new OnItemLongClickListener() { 
    @Override 
    public boolean onItemLongClick(AdapterView<?> parent, View view, 
      int position, long id) { 
     if(position != 0){ //ignoring first item from list 
      //do whatever you want 
     } 
     return false; 
    } 
}); 
関連する問題