2017-08-02 16 views
0

2つのチェックボックスがあるポップアップメニューがありますが、どちらかを押すとメニューが消え、状態は変わりません。私はこれらの行は即座にオフに思えるこれにポップアップメニューのチェックボックスが表示されない

public boolean onOptionsItemSelected(MenuItem item) 
{ 


    if(item.isChecked()) 
    { 
     item.setChecked(false); 
    } 
    else 
    { 
     item.setChecked(true); 
    } 
    switch(item.getItemId()) 
    { 
     case R.id.lockscreen: 
      if(item.isChecked()) item.setChecked(!item.isChecked()); 
      break; 
     case R.id.notif: 
      if(item.isChecked()) item.setChecked(!item.isChecked()); 
      break; 
     default: 
      return super.onOptionsItemSelected(item); 

    } 


    return true; 
} 

メニューのXML

<group android:checkableBehavior="all"> 
    <item android:id="@+id/lockscreen" 
     android:title="Lockscreen" 
     android:checked="false" 
     android:checkable="true"/> 
    <item android:id="@+id/notif" 
     android:title="Notification" 
     android:checked="false" 
     android:checkable="true"/> 

</group> 
+0

try.setSelected(buttonView.isChecked())のようなsetselectionメソッドを試してください。 –

+0

私はリストビューを使用していないので動作しません –

答えて

1
if(item.isChecked()) { 
    item.setChecked(false); 
} 
else { 
    item.setChecked(true); 
} 

を周りに見て、他の人のために働くものを見つけましたが、彼らは私のために動作しませんしました前にチェックされていた場合の項目...
このif-else構文で何をしようとしていますか?
これをコメントアウトして、他のif文にすべての作業(caseのもの)を実行させます。

+0

それはそれをしたようですが、なぜそれが前になかったのか分からない、何かを逃した必要があります。 –

関連する問題