Java 控制ime\u操作\u完成的行为
我有两个android活动,ime_action_已完成 活动A在EditText视图上显示它 在那里-软键盘“完成”关闭键盘Java 控制ime\u操作\u完成的行为,java,android,android-layout,layout,Java,Android,Android Layout,Layout,我有两个android活动,ime_action_已完成 活动A在EditText视图上显示它 在那里-软键盘“完成”关闭键盘 private void initLayout(){ mInputText.setImeOptions(EditorInfo.IME_ACTION_DONE); } 无onEditorAction覆盖 活动B在扩展TokenCompleteTextView (com.tokenautocomplete.TokenCompleteTextView扩展了andro
private void initLayout(){
mInputText.setImeOptions(EditorInfo.IME_ACTION_DONE);
}
无onEditorAction
覆盖
活动B在扩展TokenCompleteTextView
(com.tokenautocomplete.TokenCompleteTextView扩展了android.widget.MultiAutoCompleteTextView实现了android.widget.TextView$OnEditorActionListener)
在那里,已完成的操作没有任何作用
completionView.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (completionView.enoughToFilter() && (adapter != null)) {
//some logic. doesn't separate action_done from the other actions.
}
return true;
}
});
如何使第二个键盘也关闭软键盘?
mInputText.setImeOptions(EditorInfo.IME\u ACTION\u DONE)代码>
将操作设置为“完成”操作的默认值(关闭键盘)
在活动B中,我使用了setOnEditorActionListener
,它捕获ime\u操作并使用它
因此,我不得不在活动B中添加以下内容:
completionView.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE) {
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(completionView.getWindowToken(), 0);
}
或者像这样:
completionView.setImeOptions(EditorInfo.IME_ACTION_DONE);
completionView.setOnEditorActionListener(new OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
//logic
}
return false;
}
});