是否有可能检测到Done屏幕键盘按键被按下?
发布于 2018-03-22 20:17:54
对的,这是可能的:
editText = (EditText) findViewById(R.id.edit_text);
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
// do your stuff here
}
return false;
}
});
请注意,你将不得不导入以下库:
import android.view.KeyEvent;
import android.view.inputmethod.EditorInfo;
import android.widget.TextView;
发布于 2018-03-22 21:20:04
当你必须处理Android应用程序中的任何类型的用户输入时,Editor Info是最有用的类。例如在登录/注册/搜索操作中,我们可以使用它来获得更准确的键盘输入。编辑器信息类描述了文本编辑对象的几个属性,即输入法将直接与编辑文本内容进行通信。
你可以尝试使用IME_ACTION_DONE:
这个动作执行一个Done没有输入的操作,并且IME
将被关闭。
再使用setOnEditorActionListener:
EditTextObj.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
boolean handled = false;
if (actionId == EditorInfo.IME_ACTION_DONE) {
/* Write your logic here that will be executed when user taps next button */
handled = true;
}
return handled;
}
});
https://stackoverflow.com/questions/-100007741
复制相似问题