2011-07-07 7 views
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人でオフです。

答えて

7

「クリーン」にしてアプリを再起動します。それは明らかに同期していない古い値を含むRファイルを再生成する必要があります。

+0

ありがとうございます!それがトリックでした。 – Tozz

+0

@Tozz 回答がうまくいく場合は、「上向き矢印」をクリックするか、またはそれを受け入れる、つまり緑色の「確認」をクリックすると、 – Ognyan

関連する問題