有沒有辦法以編程方式選擇菜單選項?基本上,我想要一個視圖中的按鈕執行與按特定菜單選項相同的操作。我正在考慮嘗試調用onOptionsItemSelected(MenuItem項目),但我不知道要爲菜單項放置什麼。Android - 以編程方式選擇菜單選項
9
A
回答
13
爲什麼你沒有兩個UI事件調用一個常用的方法?
15
是的,有一種方法可以選擇一個菜單選項!你是對有關調用onOptionsItemSelected(菜單項項)這裏是獲得菜單項的方式:
1)你需要做的第一件事就是讓你的活動在這裏裏面的菜單類的引用:
private Menu menu;
@Override
public boolean onCreateOptionsMenu(final Menu menu) {
this.menu = menu;
return super.onCreateOptionMenu(menu);
}
2)所以基本上,Menu類包含所有菜單項。所以一旦你有這樣的參考,您可以模擬菜單中單擊像這樣:
onOptionsItemSelected(menu.findItem(R.id.action_id));
...其中的action_id是你要選擇的菜單項的ID。你可以在你的菜單xml中找到這個id。
0
我也在尋找這個。儘管調用項目被檢查時使用的方法是有意義的,但它不會將菜單項設置爲在UI中檢查。
所以我落得這樣做:
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
MenuItem menuItem = (MenuItem)navigationView.getMenu().findItem(R.id.nav_menu_item_1);
menuItem.setChecked(true);
onNavigationItemSelected(menuItem);
根據需要爲我下面沒有工作:
onOptionsItemSelected(menu.findItem(R.id.action_id));
相關問題
- 1. Android - 以編程方式選擇一個菜單選項
- 2. android:以編程方式更改選項菜單項
- 3. UITableView以編程方式選擇選項
- 4. 側邊菜單,以編程方式隱藏菜單選項
- 5. 選擇項目以編程方式UICollectionView
- 6. NSMenu以編程方式選擇項目
- 7. 以編程方式從Excel下拉菜單中選擇
- 8. 以編程方式檢索上下文菜單的選擇
- 9. 以編程方式預先選擇下拉菜單
- 10. 以編程方式關閉選項菜單
- 11. 如何以編程方式打開選項菜單?
- 12. 如何以編程方式更改選項菜單的子項目選擇顏色?
- 13. 以編程方式更改核心菜單/核心子菜單的選擇
- 14. 添加新選項以選擇菜單
- 15. 如何以編程方式選擇Windows中的彈出菜單項?
- 16. jQuery - 單擊鏈接以選擇一個選擇菜單選項
- 17. Python選擇菜單選項
- 18. 編程方式選擇的MD-選擇選項
- 19. 以編程方式在IE中選擇選項
- 20. 以編程方式選擇AngularJS Typeahead選項
- 21. 以編程方式選擇並加載jquery選項卡
- 22. UITabbar以編程方式選擇選項卡並執行消息
- 23. 以編程方式選擇新創建的選項與jQuery?
- 24. 如何以編程方式選擇Angular UI上的選項卡?
- 25. 以編程方式在AJAX中選擇選項Select2
- 26. 以編程方式更改選擇選項事件
- 27. 以編程方式選擇下拉選項
- 28. 以編程方式編輯grub選項
- 29. 添加快捷方式以編程方式添加系統菜單選項
- 30. 記住選擇菜單選項選項
最簡單的答案往往是最好的;)+1 – Squonk
我在onOptionsItemSelected()的所有,我寧願不分裂的菜單項一些共享代碼。我只是希望有一個簡單的方法來調用菜單選項。 – dt0
@ dt0總有一種方法可以重構代碼並使其變得乾乾淨淨,特別是如果它是您自己的代碼。如果共享代碼是一堆運行時變量,那麼也許你可以使用一個將所有代碼都包含在一個地方的結構。如果它是功能性的東西,也許你可以將它分解成實用方法。總有辦法,我強烈地考慮不要從另一個UI中調用一個UI事件。如果你考慮代碼的表現力,菜單沒有被點擊,所以調用菜單點擊事件有點奇怪。 – Rich