私は3つのSwitches
を持っています。私が望むのは、他の2つをクリックして無効にすることです。有効になっている場合、他のすべてのスイッチを無効にする
私が行ったことは、それぞれにsetCheckedListenerを設定することです。チェックすると、他の2つのチェック状態をfalseに設定しました。
コードは次のとおりです。このコードで何が起こる
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
switch (compoundButton.getId()) {
case R.id.switch_most_popular:
mostViewedSwitch.setChecked(false);
latestUpdatedSwitch.setChecked(false);
break;
case R.id.switch_most_viewed:
mostPopularSwitch.setChecked(false);
latestUpdatedSwitch.setChecked(false);
break;
case R.id.switch_latest_updated:
mostPopularSwitch.setChecked(false);
mostViewedSwitch.setChecked(false);
break;
default:
Log.i(TAG, "no checked Switch ");
break;
}
}
は、私がスイッチに触れる倍に必要があるということです。初めてそれを無効にするとチェックされ、2回目にチェックされたものが有効になります。
上記のコードに変更する必要がありますので、私が望む動作を実現できますか?あるいは、このユースケースのための他のオプションがありますか?スイッチのチェックボックスではないので無効化スイッチの おかげ
下記の私の答えを参照してください。 –
lol質問です。 googleを使ってみましたか? – GensaGames