2011-01-21 58 views
4

我想要一个EditTextPreference,如果EditText字段中没有文本,将禁用OK按钮。我创建了一个自定义的EditTextPreference类,我可以获取EditText对象并设置TextWatcher,但我找不到禁用该按钮的方法。它看起来像我没有访问对话框中的确定和取消按钮。EditTextPreference禁用按钮?

任何人都知道一种方法来获得这些按钮或做我想做的事情?

另一种选择是尝试从头开始创建一个看起来像和模仿EditTextPreference的自定义对话框。

+0

没有u得到一个soultion? – 2013-08-19 11:58:11

回答

9

下面是一个代码示例,启用/取决于onCheckValue函数是否返回truefalse禁用按钮。

​​
+0

仍然没有看到我如何访问按钮。我需要能够禁用确定按钮。你所建议的只是做我自己的对话。如果我采取这种方法,我只会建立一个自定义的Dialog类。 – Bob 2011-01-21 19:46:03

+0

我已经更新了答案。我自己检查了这个新方法,它适用于我。 – inazaruk 2011-02-08 22:35:52

1

需要老EditTextPreference更改为preference.xml新ValidatedEditTextPreference。

我做了以下内容:

旧代码:

<EditTextPreference 
    android:dialogMessage="Please input your email" 
    android:dialogTitle="Set email" 
    android:key="Email" 
    android:summary="Your email" 
    android:title="-Missed call send to" android:defaultValue="[email protected]"/> 

新代码:

<com.tanggod.missedcall2mail.ValidatedEditTextPreference 
    android:dialogMessage="Please input your email" 
    android:dialogTitle="Set email" 
    android:key="Email" 
    android:summary="Your email" 
    android:title="-Missed call send to" android:defaultValue="[email protected]"/>