如何在android中只设置EditTextPreference的数值。我想让用户输入一个端口号,不知道如何才能将限制放在那里
我正在使用这个代码,用户可以输入任何字符串。希望限制用户至少只有数字
<EditTextPreference
android:defaultValue="4444"
android:key="port"
android:title="Port"
android:dependency="service_on"
/>
7条答案
按热度按时间pepwfjgg1#
EditTextPreference小部件应该具有与常规EditText相同的属性,因此用途:
或更具体地用途:
因为您希望将输入仅限制为端口号。
pftdvrlh2#
我使用androidX库是因为这个库可以自定义EditTextPreference对话框的输入类型。AndroidX是对原始Android支持库的重大改进,因此建议每个人都使用这个库。您可以阅读更多关于AndroidX here.的信息
下面是我在onCreatePreference方法中使用EditTextPreference的代码:
使用这段代码并单击editTextPreference后,将弹出对话框,键盘输入类型将仅为数字。
omjgkv6w3#
使用
androidx.preference
库,自2018.12.17发布androidx.preference:preference:1.1.0-alpha02
以来,库中增加了EditTextPreference.OnBindEditTextListener
接口,可以自定义对话框绑定后对应对话框中显示的EditText。因此,在本例中,您所要做的就是添加下面的Kotlin代码。
kdfy810k4#
带有十进制数输入的EditTextPreference(编辑文本首选项)(Kotlin):
zpjtge225#
适用于我的Kotlin代码:
这里“editTextPrefSleepTime”是EditTextPreference的一个键,我在xml文件上设置了这个键。
1cosmwyk6#
使用 getEditText 访问 EditTextPreference的EditText 方法并设置 * 输入类型 *
不幸的是,官方库 android.support.v7.preference 隐藏了对 getEditText 的访问权限,但有一个fix library可以解决这个问题。
9o685dep7#
对我来说,我希望只允许数字和点,以便用户可以键入IP地址。
这是JAVA