特定的ListView項的上下文菜單我知道這個問題以前問,回答是覆蓋onPrepareContextMenu()/ onCreateContextMenu()。但我不明白,沒有得到任何解決方案。請幫助我如何禁用特定ListView項目的上下文菜單。如何禁用Android的
回答
打開上下文菜單取決於你的一些邏輯。例如,在方法onItemClick(在你的listView中)你應該檢查你的項目的內容,並顯示或不顯示上下文菜單。我不明白,爲什麼這是你的問題?
UPDATE
public class ExampleActivity extends ListActivity {
private ListView mListView;
private ArrayList<String> mList = new ArrayList<String>();
private ArrayAdapter<String> mArrayAdapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mArrayAdapter = new ArrayAdapter<String>(this, android.R.id.list ,mList);
mListView = (ListView) findViewById(android.R.id.list);
setListAdapter(mArrayAdapter);
registerForContextMenu(mListView);
mListView.setOnItemLongClickListener(new OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> adapterView , View v,int position, long id) {
mListView.getItemAtPosition(position); //check current item with your logic and show or don't show contextMenu
// for example I will show
mListView.showContextMenu(); //to show
return true;
}
});
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
// add contextmenu items
super.onCreateContextMenu(menu, v, menuInfo);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// todo some logic...
return super.onContextItemSelected(item);
}
}
可能它會幫助你......好運氣......
在的onCreate(),我註冊我的registerForContextMenu(列表視圖)。而在onListItemClick(ListView中L,視圖V,INT位置,長的ID),我應該如何啓用/禁用特定列表項的列表視圖。假設在ListView中取第一項。我應該如何編寫啓用/禁用代碼之後 - listview.getItemAtPosition(0)。 ? – 2012-03-18 17:11:02
當你調用showContextMenu()方法時,你的contextMenu將顯示。你會檢查你的項目,如果你需要顯示contextMenu你會打電話給showContextMenu()和其他方式,你不會叫它。問題是什麼? – 2012-03-18 17:15:58
在onListItemClick(ListView l,View v,int position,long id)方法中有「int position」參數。它是您當前點擊項目的位置。您可以通過getItemAtPosition(INT位置)檢查項目,並做一些事情... – 2012-03-18 17:41:13
您也可以重新註冊的ListView這將導致你的onCreateContextMenu
方法再次執行
ListView lv = (ListView) findViewById(R.id.lvExample);
registerForContextMenu(lv);
然後你可以隱藏或顯示菜單項與wh要在onCreateContextMenu
方法
我買這個。我不認爲搞亂'OnItemLongClickListener'是個好主意。 – Yeung 2013-09-27 04:19:47
- 1. 如何禁用Android的
- 2. 如何禁用android主頁
- 3. 如何禁用bugsense android?
- 4. Android:如何禁用桌面?
- 5. 如何禁用Android按鈕?
- 6. Android:如何禁用ListView?
- 7. Android:如何禁用FEATURE_NO_TITLE
- 8. 如何禁用Android上
- 9. 如何禁用android中的listview的longclick
- 10. 如何禁用android中的listitem onCreate
- 11. android:如何禁用開關的動畫?
- 12. 如何禁用Android的後退按鈕#
- 13. 如何禁用電源中的Android
- 14. 如何禁用Android中的Timepicker
- 15. 如何禁用的是Android 4.4.2
- 16. Android:如何禁用AlertDialog中的CheckBox?
- 17. 如何禁用android中的按鈕?
- 18. 如何禁用Android的活動
- 19. Android:我如何禁用滾動的CalendarView
- 20. 如何禁用單擊Android中的ListView?
- 21. 如何完全禁用Android鍵盤
- 22. 如何禁用水平滾動在android
- 23. 如何暫時禁用按鈕Android
- 24. 如何在android中禁用觸摸屏?
- 25. 如何禁用Android庫更新?
- 26. 如何禁用觸摸事件android
- 27. Android:如何禁用手機後按?
- 28. Android:我如何禁用可觸摸性?
- 29. Android - 如何禁用/更改editTexts'Pin'
- 30. Android:如何忽略或禁用savedInstanceState?
覆蓋onPrepareContextMenu()和做當前選擇列表中的位置的檢查ICH曾經邏輯有一個布爾標誌刪除菜單中的所有項目=勝利。 – Blundell 2012-03-18 16:34:42
你可以更具體瞭解這一點,我的意思是我需要一個示例代碼來清楚地理解它。我無法弄清楚如何從菜單中刪除特定列表項目的所有項目。 – 2012-03-18 17:01:58