嗨,我的屏幕上有两个编辑文本框。我仅在编辑文本获得焦点时启用横向支持。并在用户按下软键盘上的完成按钮时禁用相同的功能。用户在第一个编辑文本中输入值并按下一步按钮。然后在第二个编辑文本中输入值并按“完成”按钮。我想做的一件事是需要强制失去第二个edittext的焦点。我尝试了clearFocus()和button.requestFocus()但没有帮助。下面是我的代码片段。
@Override
public boolean onEditorAction(TextView view, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEND
|| actionId == EditorInfo.IME_ACTION_DONE
|| actionId == EditorInfo.IME_ACTION_GO
|| event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
((Activity) context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
InputMethodManager imm = (InputMethodManager) context
.getSystemService(Context.INPUT_METHOD_SERVICE);
if (imm != null)
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
return true;
}
return false;
}
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus)
((Activity) context).setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
}
如果用户单击第二个编辑文本,则单击“完成”按钮后,控件不会进入 onFocusChange 事件。请帮我