在edittext中设置时间

时间:2014-03-19 12:51:32

标签: android android-edittext

我想实现一个与android闹钟应用程序类似的EditText。在此应用中,有两个EditText字段用作HHmm。键入这些字段会覆盖以前的数字。当您在HH字段中输入第二个数字后,焦点会自动切换到mm字段。

我试图在TextWatcher方法中使用afterTextChanged()手动设置此逻辑,但不幸的是,在此方法中修改文本会导致递归循环。

实施此方法的正确方法是什么?

请参阅下面的警报应用示例:

enter image description here

2 个答案:

答案 0 :(得分:0)

将监听器添加到您的hh文本视图中

 hh.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {

            if (hh.getText().toString().length() == 2){
                mm.requestFocus();
            }
            return false;
        }
    });  

希望这对你有用。

答案 1 :(得分:0)

事实证明,编辑onTextChanged方法中的文本实际上不会导致递归循环,只要您使用布尔开关暂时禁用逻辑。精心编写所有逻辑到TextWatcher以模仿警报式EditText字段。