2
我想創建一個Android菜單並使用onOptionsItemSelected(MenuItem項)我試圖找出哪個菜單項被選中。然而,我的菜單項是關閉的1getItemId與菜單項不匹配
RES /菜單/ settings.xml中:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/menuSettings" android:title="@string/settings" />
<item android:id="@+id/menuVisit" android:title="@string/visitPopup" />
</menu>
我的代碼如下所示:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
Log.v(LOG_TAG, "Menu button click!");
Log.v(LOG_TAG, Integer.toString(item.getItemId()));
Log.v(LOG_TAG, Integer.toString(R.id.menuSettings));
switch (item.getItemId()) {
case R.id.menuSettings:
Log.v(LOG_TAG, "Trying to start Settings activity");
startActivity(new Intent(this, SettingsActivity.class));
return true;
case R.id.menuVisit:
Log.v(LOG_TAG, "Trying to start menuVisit activity");
return true;
default:
Log.v(LOG_TAG, "Trying to start nondefined activity");
return super.onOptionsItemSelected(item);
}
}
的logcat的結果是:
Menu button click
2131165200
2131165201
Trying to start nondefined activity
我是confu sed我做錯了什麼,因爲這段代碼確實有用。但由於不明原因停止工作。如logcat輸出中所示,問題是2個ID號不匹配。他們被一個關閉。
謝謝!那就是訣竅。 – Tozz
@Tozz 當你的答案適合你時,你應該評價它:即點擊「向上箭頭」和/或接受它,即點擊綠色的「檢查」 – Ognyan