私はradiobuttongroupのようなやり取りをしたいという意味の私のpreferencescreenに4つのcheckboxpreferencesを持っています。最初のものがチェックされていて、他のものをチェックしたいのであれば、それだけがチェックされ、他のものはチェックされていません。Android:CheckboxPreferencesはRadioButtonsのように動作します
1
A
答えて
0
http://developer.android.com/reference/android/preference/CheckBoxPreference.html#setDisableDependentsState%28boolean%29を使用してその機能を作成できるようです。私は好みの依存関係をxmlで設定できると思います。
3
私はこのようでした:あなたはあなたのprefs.xmlの "keyItemChecked" を宣言する必要はありません
public class PreferenceActivity extends PreferenceActivity {
private SharedPreferences prefs;
private Editor editor;
private int keyItemChecked;
private CheckBoxPreference item1CheckBox, item2CheckBox, ..., itemICheckBox;
@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prefs = PreferenceManager.getDefaultSharedPreferences(this);
addPreferencesFromResource(R.xml.prefs);
item1CheckBox = (CheckBoxPreference) getPreferenceManager().findPreference("item1");
item2CheckBox = (CheckBoxPreference) getPreferenceManager().findPreference("item2");
...
itemICheckBox = (CheckBoxPreference) getPreferenceManager().findPreference("itemI");
item1CheckBox.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference arg0) {
manageItem(1, item1CheckBox);
return true;
}
});
....
itemICheckBox.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference arg0) {
manageItem(I, itemICheckBox);
return true;
}
});
}
private void manageItem(int i ,CheckBoxPreference pref) {
keyItemChecked = prefs.getInt("keyItemChecked",1); // 1 is your default checked item
if (! pref.isChecked() && keyItemChecked == i)
// If you click on the checked item, you don't want it to be unchecked :
pref.setChecked(true);
if (pref.isChecked() && keyItemChecked != i) {
editor = prefs.edit();
editor.putInt("keyItemChecked", i);
editor.commit(); // or editor.apply() if you use API > 9
unckeckOldItem(keyItemChecked);
}
}
private void unckeckOldItem(int item) {
switch (item) {
case 1:
item1CheckBox.setChecked(false);
break;
...
case I:
itemICheckBox.setChecked(false);
break;
}
}
。あなたが活動を呼び出し、データが存在しないと
keyItemChecked = prefs.getInt("keyItemChecked",1);
初めてデフォルト以外の項目をクリックすると、データが存在します。1. を返します。
関連する問題
- 1. Android開発のボタンはRadioButtonsのように動作します
- 2. RadioButtonsのように動作するToggleButtonのセットを作成するにはどうすればよいですか?
- 3. iOSとUWPでRadioButtonsとCheckBoxが正しく動作しない
- 4. Meteorはどのように動作しますか?クライアントとサーバーはどのように動作しますか?
- 5. チェックされたRadioButtonsの奇妙な動作
- 6. 自動 'PrtScn'キーストロークは 'Alt + PrtScrn'のように動作します
- 7. RadioButtonsをMVVMパターンでComboBoxのように動作させる方法を教えてください。
- 8. jQueryはタブのように動作し、バリデータでは動作しません
- 9. 'ドラッグ' uiScrollViewのように動作するようにuibuttonを移動します
- 10. Android。 ListViewのRadioButtons
- 11. ActiveRecord :: RelationクラスはArrayのようにどのように動作しますか?
- 12. Math.random()はどのようにこのように動作しますか?
- 13. tf.train.Saverはどのように正しく動作しますか?
- 14. LINQ IEnumerableはどのようにして動作しますか?
- 15. Hibernateコールセパレーションジェネレータはどのようにして動作しますか?
- 16. Makefileでは、VPATHはどのように動作しますか?
- 17. PHPは "リモートインクルード"とはどのように動作しますか?
- 18. execlpはどのように正確に動作しますか?
- 19. インポートライブラリはどのように正確に動作しますか?
- 20. #+ BIND:実際にはどのように動作しますか
- 21. bindingnameはどのように正確に動作しますか?
- 22. CloudConfigurationManager.GetSetting( "")は実際にどのように動作しますか?
- 23. getline()は実際にどのように動作しますか?
- 24. .gitconfigの[github]セクションはどのように動作しますか?
- 25. Javaのガベージコレクタはどのように動作しますか?
- 26. listViewのsetListAdapter(Arrayadaper)はどのように動作しますか?
- 27. jQueryの.delayメソッドはどのように動作しますか?
- 28. アクティビティタイマーイベントのデフォルトカレンダーはどのように動作しますか?
- 29. このC++コードはどのように動作しますか?
このメソッドのドキュメントを読む方法は、現在のチェックボックスをオンにしたときに他のチェックボックスのグループを無効にすることです。質問者は、ラジオボタンの動作をチェックボックスで探しています。何か不足していますか? –
ああ、私はそれを以前に使ったことはないと思う。 – Falmarri