2016-09-21 9 views
2

私はgroupの中にandroid:checkableBehavior="single"を使用しています。このグループにはいくつかのアイテムが含まれています。これらのアイテムはコンテンツフィルタを表します。デフォルトのフィルタはありません(チェックしたアイテムは必ずしも必要ではありません。フィルタをクリックして無効にしたいのですが、もう一度クリックすると、setChecked(false)を使用するとその項目はチェックされません。しかしsetChecked(false)はsetChecked(true)と同じですか?

it looks like:については

checkableBehavior = "シングル" setChecked()は常にパラメータがあるため、Googleの実装の '偽' である場合でも、メニュー 項目をチェックします。私の明白な解決策は、それがsetChecked(false)に別の方法が、彼らはフィルターを望んでいない示しするが、ちょうど同じ項目をチェックし、オフにし、より直感的に思えるのユーザーによって確認することができno filter項目を追加して

+0

チェックボックスを使用して問題のチェック/未チェックを管理します –

+0

直感的なことは間違いありません。 –

+0

@EugenPechanecあなたは 'no filter'オプションを提案しますか? –

答えて

2

(ヌガーのような)MenuItemImplにおけるGoogleの脳死実装:EXCLUSIVEフラグが設定されている場合

@Override 
public MenuItem setChecked(boolean checked) { 
    if ((mFlags & EXCLUSIVE) != 0) { 
     // Call the method on the Menu since it knows about the others in this 
     // exclusive checkable group 
     mMenu.setExclusiveItemChecked(this); 
    } else { 
     setCheckedInt(checked); 
    } 

    return this; 
} 

checkedことが完全に無視されます。

+0

ありがとうございます。 –

関連する問題