自定义EditTextPreference

时间:2013-01-21 15:28:20

标签: android preferences edittextpreference

我想自定义EditTextPreference,因此我在TextView的左侧添加了EditTextPreference

这是我的代码:

<EditTextPreference
   android:key="alert_planed_edittext_preference"
   android:title="@string/alert_planed_edittext_preference"
   android:summary="@string/alert_planed_summary_edittext_preference"
   android:dialogTitle="@string/alert_planed_dialog_title_edittext_preference" />

这就是我在申请中得到的结果:

enter image description here

我想自定义我的EditTextPreference,这就是我想要的:

enter image description here

我想在右边添加数字,我可以这样做吗?

当我点击时,我会看到这个对话框:

enter image description here

我希望允许用户只选择号码,我该怎么做?

编辑: 我找到了第二个问题的解决方案:

<EditTextPreference
                android:key="alert_planed_edittext_preference"
                android:title="@string/alert_planed_edittext_preference"
                android:summary="@string/alert_planed_summary_edittext_preference"
                android:dialogTitle="@string/alert_planed_dialog_title_edittext_preference"
                android:numeric="integer" />

1 个答案:

答案 0 :(得分:4)

对于你的第二个问题,为什么你不使用数字选择器而不是这个edittext?

示例(来自android.devExample

和这样的代码:

Public class NumberPickerPreference extends DialogPreference {
    public NumberPickerPreference(Context context, AttributeSet attrs) {
        super(context, attrs);

        setDialogLayoutResource(R.layout.numberpicker_dialog);
        setPositiveButtonText(android.R.string.ok);
        setNegativeButtonText(android.R.string.cancel);

        setDialogIcon(null);
    }
    ...
}

关于你的第一个问题,我必须实现一个customPreference。您可以从设置菜单中的IconPreferenceScreen获取示例。