在了Android的onOptionsItemSelected()方法菜單,我打電話了一個名爲getQueries()方法,這將決定複選框被選中什麼,然後返回基於一個字符串。但是,每當我嘗試訪問菜單中的項目時,我都會收到一個空引用值。有任何想法嗎?我的getQueries方法在下面,如果需要,我可以提供更多的代碼。我想我可能會初始化菜單錯誤,但我無法弄清楚。提前致謝。訪問Android的菜單項目
public String getQueries() {
String q = "";
Menu menu = (Menu)findViewById(R.menu.main_activity_actions);
if (menu.findItem(R.id.action_bread).isChecked()) {
q = "bread";
}
if (menu.findItem(R.id.action_cheese).isChecked()) {
q = "cheese";
}
Log.d("query", q);
return q;
}
感謝克勞斯的幫助。我正在嘗試做的是檢查菜單中所有複選框的值,以便根據選中的複選框形成一個包含多個查詢的字符串。有關於此的任何想法?我不知何故需要迭代菜單項,檢查它們是否被選中,然後在檢查它們時追加字符串。 – johns4ta
你可以做到這一點,並且更容易:批准一些布爾變量,每個布爾變量對應一個MenuItem選中或不選,然後 - 當你點擊一個按鈕時(例如),你準備基於這些值的查詢。 DONE! –
看起來我會採取這種方法。謝謝! – johns4ta