2011-09-10 3 views
1

イム:multiListener = trueの場合、基本的に.setEnabled()を使用してオプションメニューボタンを有効/無効にしますか?このような何かやろうとし

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.menu, menu); 
    //multiListener = false; 
    menu.add(0,START_DELETE,0, "Delete selected..").setEnabled(multiListener); 
    return true; 
} 
@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    // Handle item selection 
    switch (item.getItemId()) { 
    case R.id.multiselect: 
     if(multiselect == 0) { multiselect = 1; 
     multiListener = true; 
     Log.d("DH", "index="+multiListener); 
     } 
     else if(multiselect == 1) { multiselect = 0; multiListener = false; 
     Log.d("DH", "index="+multiListener); 
     } 
     fillData(); 
     return true; 
    case START_DELETE: 
     Toast.makeText(Notepadv3.this, "Pressed delete", Toast.LENGTH_SHORT).show(); 
     return true; 
    default: 
     return super.onOptionsItemSelected(item); 

    } 
} 

を。何とかのために...そう、それを灰色に押圧可能な「..選択削除」

を作るこの単純な、事...私と一緒に動作するように望んでいない、

...ボタンが常にグレー表示されますLogはそう言いますが、それは真実に変わります...

誰かが知っていますか?

答えて

3

商品の状態を変更するには、setEnabled()に再度電話する必要があります。その状態は変数に束縛されません。このメソッドはonPrepareOptionsMenu()で呼び出す必要があります。

+0

ありがとうございました!これは行為を作った:) – DreamHawk