Запретить отображение диалога в EditTextPreference onClick
Я хочу показать системное диалоговое окно, из которого пользователь может выбрать свою учетную запись Google, и я хочу, чтобы оно отображалось, когда пользователь нажимает ссылку EditTextPreference. Проблема в том, что "нормальный" диалог продолжает показываться до системного по умолчанию.
Вот код
public static class SettingsFragment extends PreferenceFragment {
Preference googleMail;
Intent intent = AccountPicker.newChooseAccountIntent(null, null,
new String[]{GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE},
true, null, null, null, null);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Load the preferences from an XML resource
PreferenceCategory fakeHeader;
// Add 'fake' preferences.
addPreferencesFromResource(R.xml.pref_fake);
fakeHeader = new PreferenceCategory(getActivity().getBaseContext());
fakeHeader.setTitle(R.string.pref_header_calendar);
getPreferenceScreen().addPreference(fakeHeader);
addPreferencesFromResource(R.xml.pref_calendar);
bindPreferenceSummaryToValue(findPreference("pref_googleMail"));
googleMail = findPreference("pref_googleMail");
googleMail.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
startActivityForResult(intent, ACCOUNT_PICKED);
return false;
}
});
}
}
1 ответ
Вы должны изменить свой EditTextPreference на обычный Preference. После этого основной диалог не отображается.