计时器应用

时间:2017-09-25 06:55:35

标签: android android-input-method

我是Android新手,目前正在开发计时器应用以熟悉它。

我想获得用于设置计时器的用户输入。我希望以HH:mm:ss格式使用它。用户界面最初应显示" 00h 00m 00s"字符串和数字键盘,当用户键入数字时,字段应从右到左填满,在第二/分钟/小时之间溢出。 例: 用户类型" 123" > 0点01分23秒

我目前的想法是为数字提供3个TextView,为h / m / s标记设置3个TextView,然后在其上添加10个带数字的按钮以填充字段。但我想必须有一个更简单的方法来做到这一点。 我的问题是:用软输入法和EditTexts可以实现吗?我也对其他实现方法感兴趣,只要格式约束(00h 00m 00s)得到尊重。

1 个答案:

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