У меня есть необходимость, когда я нажимаю на checkboxpreference, он должен отображать диалог, когда условие истинно и переключается (проверяют или снимают галочку), когда условие ложно. Как его реализовать? Я пробовал играть как с OnSharedPreferenceChangeListener, так и с OnPreferenceClickListener (см. Ниже псевдокод). Когда условие истинно, диалог появляется, но checkboxpreference также переключается - как его избежать?Переключить предпочтение checkbox на основе состояния
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key)
{
if(key.equals("mykey"))
{
if(condition)
{
showDialog(this);
return;
}
else
{
//logic to process prefernce change
}
}
}
Это еще одна вещь, которую я попытался с помощью preferenceclicklistener
public boolean onPreferenceClick(Preference preference)
{
if(preference.getKey().equals("mykey"))
{
if(condition)
{
showDialog(this);
//returning true below means i have handled the click and it should not do anything
// else. Why is checkboxpreference getting toggled?
return true;
}
}
}