Android首选项,自定义EditTextPreference

Android首选项,自定义EditTextPreference,android,preferencescreen,android-settings,edittextpreference,Android,Preferencescreen,Android Settings,Edittextpreference,我正在为我的Android应用程序设置首选项屏幕。 我包括了一个EditTextPreference来指定远程服务器。 现在,我想为用户提供一个选项,将地址重置为弹出窗口中的初始值: 基本上我想要的是第三个按钮,除了“取消”和“确定”之外,“重置” 我想知道有什么简单的方法来实现这种定制吗 完整性代码: <PreferenceCategory android:title="General"> <EditTextPreference android:d

我正在为我的Android应用程序设置
首选项屏幕。
我包括了一个
EditTextPreference
来指定远程服务器。 现在,我想为用户提供一个选项,将地址重置为弹出窗口中的初始值:

基本上我想要的是第三个按钮,除了“取消”和“确定”之外,“重置”

我想知道有什么简单的方法来实现这种定制吗

完整性代码:

<PreferenceCategory android:title="General">

    <EditTextPreference
        android:defaultValue="http://stackoverflow.com/"
        android:dialogTitle="Specify the remote server: "
        android:inputType="textUri"
        android:key="serverAddress"
        android:maxLines="1"
        android:summary="somesSummaryText"
        android:title="Server Address"
        android:persistent="true" />

</PreferenceCategory>



好的,您可以在首选项屏幕中使用首选项。在首选项的on Preference上单击Listener显示自定义对话框并从对话框中获取值,然后使用SharedReference

保存它们。我认为使用
EditTextPreference
是无法做到这一点的,但您始终可以使用一个简单的
首选项
并在其OnClick中添加AlertDialog你心目中的定制

<Preference
    android:key="pref_key_edit"
    android:summary="@string/pref_summary_edit"
    android:title="@string/pref_title_edit"/>

谢谢你,尽管没有简单的答案。似乎我必须阅读更多的内容才能让它按照我想要的方式工作(我对android非常陌生)。谢天谢地,你把我推向了正确的方向。
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
    switch (preference.getKey()) {
        case "pref_key_edit":
            // Do whatever you want here
            return true;
    }
    return super.onPreferenceTreeClick(preferenceScreen, preference);
}