我在ime_action_done上有两个android活动。
活动A将其显示在EditText视图中。
在这里-软键盘“完成”关闭键盘。
private void initLayout(){
mInputText.setImeOptions(EditorInfo.IME_ACTION_DONE);
}无onEditorAction覆盖
活动B将其放在扩展TokenCompleteTextView的自定义视图中
(com.tokenautocomplete.TokenCompleteTextView extends android.widget.MultiAutoCompleteTextView implements 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;
}
});怎样才能让第二个也关闭软键盘呢?
发布于 2014-05-08 18:20:22
mInputText.setImeOptions(EditorInfo.IME_ACTION_DONE);
将操作设置为action_done的默认操作(关闭键盘)
在活动B中,我使用了setOnEditorActionListener,它捕获并使用ime_action。
因此,我不得不在活动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;
}
});https://stackoverflow.com/questions/23537589
复制相似问题