我想做的是我正在制作一个生命游戏计划.我想花时间延迟并优先考虑,但我想让人们可以在特定时间输入.数字可以是几毫秒或几秒.
然而,我有点坚持如何继续,我还没有找到一个已经处理过的简单偏好,但可能有一个.是否有一种简单的方法来确定此偏好并确认输入的数据是整数还是漂浮?
我检查了EditTextPreference的文档 http://developer.android.com/reference/android/preference/EditTextPreference.html
但我没有在那里找到android:inputType属性.然后如何在此代码段中使用它
<EditTextPreference
android:key="edit"
android:title="@string/location1"
android:summary="@string/summary1"
android:dialogTitle="@string/location1"
android:dialogMessage="@string/message"
android:inputType="text"
android:singleLine="true"
/>
Run Code Online (Sandbox Code Playgroud)
同样怀疑android:singleLine属性.
<android.support.v7.preference.EditTextPreference
android:key="prefTest"
android:title="test number input"
android:inputType="numberDecimal|numberSigned"
android:defaultValue="800"/>
Run Code Online (Sandbox Code Playgroud)
它仍然显示常规键盘,并允许我键入任何字符
有什么问题android.support.v7吗?
使用Migrate to AndroidX...Android Studio 提供的功能将我的项目迁移到 AndroidX 并相应地更改了我的依赖项以使所有内容都按预期运行后,我遇到了一个无法解决的小问题。
为了在我的应用程序中设置设备编号,我使用了如下定义的 EditTextPreference,pref_screen.xml它在 PreferenceFragmentCompat 类中设置
setPreferencesFromResource(R.xml.pref_screen, string):
<EditTextPreference
android:icon="@drawable/ic_perm_device_information_black_24dp"
android:inputType="number"
android:key="change_device_id"
android:maxLines="1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:summary="@string/settings_device_id"
android:title="@string/pref_title_change_device_id" />
Run Code Online (Sandbox Code Playgroud)
它曾经显示数字键盘来更改值,但在迁移到 AndroidX 后,它继续显示普通键盘,如下图所示。我尝试更改 inputType 并在 xml 中定义小数,但无济于事。迁移到 AndroidX 后是否对键盘的 inputType 设置进行了更改,或者我是否遗漏了一些明显的内容?
android:inputType="numberDecimal"
android:digits="0123456789"
Run Code Online (Sandbox Code Playgroud)