如何知道textcompletion,edittext

时间:2011-08-16 11:50:13

标签: android android-edittext

我创建了一个EditText。我可以使用TextChangedListener了解文本更改。但是我有一个问题,我必须在用户完成写入时向用户显示一些消息。实现这一点我假设如果用户空闲500毫秒,这意味着用户已完成写入。怎么做到这一点?有没有更好的方法来了解文本完成情况?

由于

3 个答案:

答案 0 :(得分:1)

TextChangedListener

,您可以启动计时器并在每次调用onTextChangedListener()方法时重新启动它。并将其时间设置为500milliSeconds。当计时器结束时,您可以显示您的消息。

**Update:**

当我说Timer使用CountDownTimer时,它有onFinish()方法你可以覆盖并做你的东西......

如果你有多个视图,那么你可以使用onFocusChangedListener(),一旦用户跳转到下一个TextView就会调用其方法,这也是更好的方法..

答案 1 :(得分:0)

EditText应该从TextView继承onFocusChanged

EditText myEditText = (EditText)findViewById(R.id.myEdittext);
myEditText.setOnFocusChangeListener(new View.OnFocusChangeListener(){
    @Override
    public void onFocusChange(View v,boolean hasFocus){
        if (!hasFocus) {
            // do some work
        }
    }
});

答案 2 :(得分:0)

如果您试图猜测(而不是确保)用户已完成输入,显然您将不得不使用启发式方法,例如您建议的方式。

如果您想确保,您可以依赖用户试图隐藏键盘的事实。这可以通过Android: which event fires when on screen keyboard appears?来确定。

显然,如果用户的设备带有物理键盘,则无法使用任何内容。

HTH,

阿克沙伊