我有一个使用 TimePickers 的平板电脑应用程序。我希望用户可以轻松地使用键盘输入时间,如果他们愿意的话。在一个小型试验中,一些用户遇到了困难。他们会点击时间然后开始打字。这不起作用,因为时间已经在框中,并且框没有突出显示。
android:selectAllOnFocus="true"
我在我的 xml 布局中尝试过。可以预见的是,这并没有起到任何作用。
将此添加到其中包含 TimePicker 的活动的 Java 源代码中:
/**
* Check if 'v' is an EditText
*/
private static boolean isEditText(View v) {
return v instanceof EditText;
}
/**
* Set selectAllOnFocus(true) for all EditTexts in picker.
*/
private static boolean setTimePickerAutoSelectAll(TimePicker picker) {
for(View view : picker.getTouchables()) {
if(isEditText(view)) {
EditText editText = (EditText) view;
editText.setSelectAllOnFocus(true);
}
}
}
然后调用setTimePickerAutoSelectAll
你的onCreate()
:
setTimePickerAutoSelectAll(yourTimePicker);