0

可以设置EditTextPreferenceandroid:enabled="false"这是默认情况下,当用户检查checkboxPreference如果用户单击然后 EditTextPreference enable(true) .. 如果取消选中,那么它将启用(false)

图片

这就是问题..

4

2 回答 2

0

请改写您的问题,但听起来您想启用或禁用基于复选框的选项。将依赖项放在hourBooking

android:dependency="cancelBooking"
于 2017-04-21T20:08:54.677 回答
0

你可以在你的程序中进行PreferenceFragment

public class PreferenceFragment extends android.preference.PreferenceFragment

使用此代码:以编程方式启用/禁用复选框..

  @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);
        pref1 = (CheckBoxPreference) getPreferenceManager().findPreference("bookATrainer");
        pref2 = (CheckBoxPreference) getPreferenceManager().findPreference("cancelBooking");

        pref1.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
            public boolean onPreferenceClick(Preference preference) {
                if (pref1.isChecked()) {
                    pref1.setChecked(false);
                } else {
                    pref2.setChecked(true);
                }
                return true;
            }

        });
        pref2.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
            public boolean onPreferenceClick(Preference preference) {
                if (pref2.isChecked()) {
                    pref2.setChecked(false);
                } else {
                    pref1.setChecked(true);
                }
                return true;
            }

        });
    }
}
于 2017-04-21T19:29:51.663 回答