片段更改时,将焦点放在EditText上

时间:2018-04-11 15:48:11

标签: android android-fragments kotlin

我有两个带有两个EditText的片段,我希望将焦点放在第二个EditText(片段二)上,当我从第一个EditText聚焦时从片段1更改为片段二。我有一个focuschangelistener控制第一个EditText焦点,但我不知道如何在片段更改时检查第一个EditText焦点,因为它总是在第二个片段上返​​回false(我认为片段视图清除了对分离的焦点)。

现在我在片段创建视图上有一个焦点监听器:

etEmail?.setOnFocusChangeListener { v, hasFocus ->
        (activity as SessionActivity).animation() //this is an animation
        isFocused = hasFocus //this is my bool status check
    }

在第二个片段中,我打电话给同伴检查状态:

Log.d("FOCUS", hadFocus.toString())

1 个答案:

答案 0 :(得分:0)

在onResume中使用它:

onResume(){
  super.onResume();
  findViewById(R.id.SecondEditText).requestFocuse();

}

最好在onCreate中查找视图并将其保存在实例变量中,然后在requestFocuse中的该变量上调用onResume,以便在onResume中每次都删除查找视图的延迟特别是在onResume调用每个窗口大小的多窗口上