android:按下完成键时软键盘执行动作
Posted
技术标签:
【中文标题】android:按下完成键时软键盘执行动作【英文标题】:android: Softkeyboard perform action when Done key is pressed 【发布时间】:2011-11-26 21:29:51 【问题描述】:我有一个 EditText。我希望在输入一些文本后,当用户按下软键盘的Done
键时,它应该直接执行一些搜索操作,这也是我在按钮单击事件中实现的。
【问题讨论】:
在此评论中更好地使用 Kotlin:***.com/a/48810268/1912924 【参考方案1】:试试这个
editText.setOnEditorActionListener(new OnEditorActionListener()
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
if(actionId==EditorInfo.IME_ACTION_DONE)
//do something
return false;
);
【讨论】:
【参考方案2】:试试这个
它适用于 DONE 和 RETURN。
EditText editText= (EditText) findViewById(R.id.editText);
editText.setOnEditorActionListener(new EditText.OnEditorActionListener()
@Override
public boolean onEditorAction(TextView v, int actionId,
KeyEvent event)
if (event != null && event.getKeyCode() == KeyEvent.KEYCODE_ENTER
|| actionId == EditorInfo.IME_ACTION_DONE)
// Do your action
return true;
return false;
);
【讨论】:
【参考方案3】:您捕捉到KeyEvent
,然后检查它的键码。 FLAG_EDITOR_ACTION
用于识别来自 IME 的输入键,其输入键已自动标记为“下一步”或“完成”
if (event.getKeyCode() == KeyEvent.FLAG_EDITOR_ACTION)
//your code here
查找文档here。
第二种方法
myEditText.setOnEditorActionListener(new OnEditorActionListener()
@Override
public boolean onEditorAction(TextView view, int actionId, KeyEvent event)
int result = actionId & EditorInfo.IME_MASK_ACTION;
switch(result)
case EditorInfo.IME_ACTION_DONE:
// done stuff
break;
case EditorInfo.IME_ACTION_NEXT:
// next stuff
break;
);
【讨论】:
【参考方案4】:试试这个
无论您的键盘是显示回车符号还是下一个箭头符号,这两种情况都适用
YourEdittextName.setOnEditorActionListener(new TextView.OnEditorActionListener()
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event)
if(actionId== EditorInfo.IME_ACTION_DONE||actionId==EditorInfo.IME_ACTION_NEXT)
//Perform Action here
return false;
);
如果你面对红线,那么就这样做...... 通过按 alt+enter 导入 Keyevent 和 EditorInfo 那么所有的错误都会正确删除.......
【讨论】:
【参考方案5】:在 Kotlin 中使用
viewBinding.editText.setOnEditorActionListener view, actionId, event ->
if (actionId == EditorInfo.IME_ACTION_DONE)
//react to action
false
您还可以在“if”大括号内返回 true 以使用事件 - 这样当您按下完成时键盘不会关闭
【讨论】:
以上是关于android:按下完成键时软键盘执行动作的主要内容,如果未能解决你的问题,请参考以下文章
Android N(7.0) 在ListView里显示EditText时软键盘弹出时会自动切换到全键盘的问题?