2016-04-13 12 views
0

にメソッドFindItem関数を解決することはできませんなぜ私は、メニュー項目を有効または無効にしようとしていますし、私は次のようにします。onPrepareOptionsMenuは、Android

@Override 
public boolean onPrepareOptionsMenu(Menu menu) 
{ 

    MenuItem item = menu.findItem(R.id.menu_stats_undo); 

    if (PlayerListSelect==1) { 
     item.setEnabled(true); 
     item.getIcon().setAlpha(255); 
    } else { 
     // disabled 
     item.setEnabled(false); 
     item.getIcon().setAlpha(130); 
    } 
    return true; 
} 

そして

@Override 
public boolean onCreateOptionsMenu(android.view.Menu menu) { 
    getMenuInflater().inflate(R.menu.stats_menu, menu); 
    return true; 
} 

とXML

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" > 

<item 
    android:id="@+id/menu_stats_undo" 
    app:showAsAction="always" 
    android:title="UNDO"/> 
</menu> 

しかし、私は赤色のfindItemを取得します、方法を解決できませんなぜですか?

+0

あなたのxmlファイルにこの項目 "menu_stats_undo" を持っているのですか? –

+0

はいそれは –

+0

あなたのmenu.xmlファイルを投稿し、あなたのアクティビティ/フラグメント内でそれを膨張させるコード – Cbr

答えて

0

はしてみてください。この

@Override 
public boolean onCreateOptionsMenu(Menu menu) 
{ 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.YOUR_MENU_FILE_NAME, menu); 
    MenuItem item = menu.findItem(R.id.menu_stats_undo); 

    if (PlayerListSelect==1) { 
     item.setEnabled(true); 
     item.getIcon().setAlpha(255); 
    } else { 
     // disabled 
     item.setEnabled(false); 
     item.getIcon().setAlpha(130); 
    } 
    return true; 
} 
関連する問題