enable EditTextPreference visibility while user check or true the CheckBoxPreference in setting

462 Views Asked by At

it is possible set android:enabled="false" of EditTextPreference this is by default when user check the checkboxPreference if user click then EditTextPreference enable(true).. if uncheck then it will go enable(false)

Image

this is the problem..

2

There are 2 best solutions below

3
rafsanahmad007 On

You can do it programetically in your PreferenceFragment

public class PreferenceFragment extends android.preference.PreferenceFragment

use this code: to programetically enable/disable the checkboxes..

  @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;
            }

        });
    }
}
0
Kia On

Please reword your question but it sounds like you want to enable or disable an option based on a checkbox. Put the dependency under hourBooking

android:dependency="cancelBooking"