android - 如何强制从编辑文本中失去焦点?

标签 android focus android-edittext

您好,我的屏幕上有两个编辑文本框。我仅在编辑文本获得焦点时才启用横向支持。当用户按软键盘上的完成按钮时禁用相同的功能。用户在第一个编辑文本中输入值并按下一步按钮。然后在第二个编辑文本中输入值并按“完成”按钮。我想做的一件事是需要强制失去第二个edittext的焦点。我尝试了clearFocus()和button.requestFocus(),但没有帮助。下面给出的是我的代码 fragment 。

@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 事件。请帮助我

最佳答案

遵循已接受的答案 This问题。当您完成 OnEditorAction 方法中的处理时,只需将焦点设置到该虚拟布局

关于android - 如何强制从编辑文本中失去焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11984743/

相关文章:

javascript - jquery:当我点击一个div时,将焦点放在一个文本框上

android - 如何自动将 ListView 字段的第一行传递给 EditText 字段

android - 在 EditText 内填充

java - 失去焦点

wpf - WebBrowser 控制键盘和焦点行为

android - 多行换行的 EditText(无换行符)

android - 如何在没有上下文的情况下在应用程序的任何位置显示对话框?

java - 在安卓上使用服务加载器

java - 是否可以使按钮和 ImageView 与每种屏幕尺寸保持一致?

java - EditText 未使用 Datepickerdialog 中选择的日期字符串进行更新