我正在开发一个聊天应用程序,并且在编辑消息期间(在EditText中)在软键盘上按下了查找ENTER的方法。目的是直接发送文本。 显然我也实施了一个" SEND"按钮。
两次尝试:
使用editText.addTextChangedListener(new TextWatcher()..
结果:我得到了#34; \ n" onTextChanged和afterTextChanged中的字符 回调。我可以"删除"这个角色和发送聊天,但我不喜欢 这样。
使用editText.setOnEditorActionListener(new TextView.OnEditorActionListener()..
结果:它不起作用。
有更好的解决方案吗?
答案 0 :(得分:0)
试试这个;
editText.setOnKeyListener(new OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event)
{
if (event.getAction() == KeyEvent.ACTION_DOWN)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
//Perform Your action
return true;
default:
break;
}
}
return false;
}
});
答案 1 :(得分:0)
我使用它来捕捉软键盘输入并且效果很好,但我不确定这是否适合你:
editText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
if (keyCode == KeyEvent.KEYCODE_ENTER && keyEvent.getAction() == KeyEvent.ACTION_UP) {
//do something.
return true;
}
return false;
}
});