计时器应用程序的输入方法



我是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中显示您的结果。我知道它非常通用,但您的问题将得到解决。

相关内容

  • 没有找到相关文章

最新更新