2
Androidメニューを作成しようとしていて、onOptionsItemSelected(MenuItem項目)を使用しようとしていますが、どのメニュー項目が選択されたかを調べようとしています。しかし、私のメニュー項目は、1でオフになっていgetItemIdがメニュー項目と一致しない
の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です私が間違ってやっているのは、このコードがしばらく働いていたからです。しかし、不明な理由から、これは動作を停止しました。 logcatの出力に示されているように、2つのID番号が一致しないという問題があります。彼らは1人でオフです。
ありがとうございます!それがトリックでした。 – Tozz
@Tozz 回答がうまくいく場合は、「上向き矢印」をクリックするか、またはそれを受け入れる、つまり緑色の「確認」をクリックすると、 – Ognyan