我是Android新手,目前正在开发计时器应用以熟悉它。
我想获得用于设置计时器的用户输入。我希望以HH:mm:ss格式使用它。用户界面最初应显示" 00h 00m 00s"字符串和数字键盘,当用户键入数字时,字段应从右到左填满,在第二/分钟/小时之间溢出。 例: 用户类型" 123" > 0点01分23秒
我目前的想法是为数字提供3个TextView,为h / m / s标记设置3个TextView,然后在其上添加10个带数字的按钮以填充字段。但我想必须有一个更简单的方法来做到这一点。 我的问题是:用软输入法和EditTexts可以实现吗?我也对其他实现方法感兴趣,只要格式约束(00h 00m 00s)得到尊重。
答案 0 :(得分:0)
你可以使用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中显示结果。我知道它非常通用,但你的问题将得到解决。