OnEditorActionListener中的requestFocus()

时间:2019-06-20 21:51:42

标签: android android-edittext android-view

下面是我为将焦点从一个编辑文本转移到另一文本而编写的一段代码,但是我在此实现中遇到的问题是,焦点移到了特定的编辑文本,然后突然移到了下一个编辑文字。因此,我无法输入任何内容,因为焦点根本没有停留在特定的编辑文本上。

//some code comes here
// gun_pistolNotes and gun_pistolModel are two diff. editText
......
......
    gun_pistolNotes.setOnEditorActionListener(new OnEditorActionListener(){
    @Override
    public boolean onEditorAction(TextView view,int actionId, KeyEvent event){
    if(actionId == EditorInfo.IME_ACTION_UNSPECIFIED){
        gun_pistolModel.requestFocus(); // moves to this edittext and suddenly moves to another editext 
        return true;
    }
    return false;
    }
  });

......
......
//some code comes here

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

如果您不需要实现任何相关的逻辑,也可以通过编程方式使用android:nextFocusDown属性直接在布局文件中进行操作,如下所示:

...
...
<EditText
        android:id="@+id/gun_pistolNotes"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:nextFocusDown="@+id/gun_pistolModel" />

    <EditText
        android:id="@+id/gun_pistolModel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

...
...