我是Android的新手,目前正在使用计时器应用程序来熟悉它。
我想获得一个用户输入来设置计时器。我想以HH:MM:SS格式进行。UI最初应显示" 00h 00m 00s"字符串和数字键盘,并且当用户键入编号时,该字段应从右侧向左填充,在第二/分钟/小时之间溢出。例子:用户类型" 123"> 00:01:23
我当前的想法是为H/M/S标记提供3个用于数字的文本视图和3个文本视图,然后还添加10个包含数字的按钮以填充字段。但是我想必须有一种更简单的方法来做到这一点。我的问题是:可以通过软输入方法和EditTexts实现这一目标吗?我还对实施此操作的其他方式感兴趣,只要尊重格式约束(00h 00m 00s)。
您可以使用android:inputtype =" number"显示数字键盘。使用textWatcher显示您的结果。例如:
EditText tv_filter = (EditText) findViewById(R.id.filter);
TextWatcher fieldValidatorTextWatcher = new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (filterLongEnough()) {
populateList();
}
}
private boolean filterLongEnough() {
return tv_filter.getText().toString().trim().length() > 2;
}
};
tv_filter.addTextChangedListener(fieldValidatorTextWatcher);
最后,最终,使用您的逻辑在TexView中显示您的结果。我知道它非常通用,但您的问题将得到解决。