Android 中首选项 Activity 中的数字首选项
我想做的是我正在制作一个生命游戏项目。我想将时间延迟设置为偏好,但我想让人们可以在特定时间进行输入。该数字可以以毫秒或秒为单位。
然而,我对如何继续感到有点困惑,我无法找到已经处理此问题的简单首选项,但可能有一个。有没有一种简单的方法可以进行此首选项并确认输入的数据是整数还是浮点数?
What I want to do is I am working on a game of life program. I want to take the time delay and make it a preference, but I want to make it available for people to type in a specific time. The number can be in miliseconds or seconds.
However I'm a little stuck on how to proceed, I haven't been able to find a simple preference that already handles this, but there might be one. Is there an easy way to make this preference and confirm that the entered data is an integer or afloat?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用 EditTextPreference 并将输入类型设置为 TYPE_CLASS_NUMBER。这将强制用户输入数字而不是字母。
Use an EditTextPreference and set the input type to TYPE_CLASS_NUMBER. This will force the user to enter numbers and not letters.
您还可以使用 xml 属性
android:numeric
强制执行它。此属性可能的相关值为decimal
和integer
。You can also enforce it with the xml attribute
android:numeric
. The possible relevant values for this attribute aredecimal
andinteger
.您也可以直接在
preferences.xml
中执行此操作。像这样的事情会起作用:You can also do this directly in your
preferences.xml
. Something like this would work:如果您正在使用 PreferenceActivity(您可能正在使用),则没有可用的。
你需要做这样的事情:
If you are using a PreferenceActivity which you probably are, there is not one available.
You will need to do something like this:
在 Android Jetpack Preference 中,事情发生了变化,要访问 EditText,您必须像这样访问
In Android Jetpack Preference things changed, to access EditText you have to access like this