我在堆栈中有2个片段,它们都包含EditTexts。 (红色EditTexts来自底部片段)
当我点击软键盘的“下一个”按钮时,光标应该移动到第二个编辑文本,而是跳转到底部片段EditText。
如果我使用'fragmentManager.replace(new TopFragment())',那么堆栈中只有一个片段,没有问题,光标移动到第二个EditText。
'fragmentManager.replace(...)'不是解决方案,我有底部片段的回调。
答案 0 :(得分:2)
你可以做的是通过使用接口在片段之间进行通信或导出第二个片段的EditText变量(我不建议)来捕获第一个EditText和requestFocus()
中的输入按下
示例:
yourEditTextFragment1.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_NULL
&& event.getAction() == KeyEvent.ACTION_DOWN) {
// User pressed enter tell fragment 2 to requestFocus()
// on it's EditText :)
}
return true;
}
});