按Enter键时清除EditText

时间:2011-11-09 06:19:00

标签: android

我想在单击按钮或按Enter键时清除EditText。按钮可以正常工作,但按Enter键时,它会清除EditText和TextView。

我感谢任何帮助。谢谢。

public void onClick(View v) {
        textViewEcho.setText(editTextInput.getText().toString());
        editTextInput.setText("");
    }

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (keyCode == 66) {
        textViewEcho.setText(editTextInput.getText().toString());
        editTextInput.setText("");
    }
    return false;
}

更新:我发现onKey被调用了两次,这就是为什么TextView的内容被清除了,但是无法弄清楚为什么onKey被调用两次,这是Android中的一个错误吗?!!!!!

我试过onKeyUp,它确实有效。

2 个答案:

答案 0 :(得分:2)

edittext.setOnKeyListener(new View.OnKeyListener() {

            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                // TODO Auto-generated method stub
                if (keyCode == KeyEvent.KEYCODE_ENTER) 
//write the code what ever u want when u press enter                {
edittext.setText("");

                }

                return false;
            }
        });

答案 1 :(得分:1)

试试这个,需要返回true。

@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
    if (keyCode == 66) {
        String txt = editTextInput.getText().toString();
        textViewEcho.setText(txt);
        editTextInput.setText("");
        return true; // return the true from here
    }
    return false;
}