2

ユーザーが自分の 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;
            }
        });
    }
}
4

1 に答える 1

1

EditTextPreference をプレーンな Preference に変更する必要があります。この基本的なダイアログは表示されません。

于 2016-05-13T05:38:37.453 に答える