2017-08-14 67 views
1

我在堆栈中有两个片段,它们都包含EditTexts。 (红色的EditTexts来自底部的片段)Android - 下一个按钮不起作用

当我点击软键盘的'next'按钮时,光标应该移动到第二个编辑文本,但是它会跳到底部的EditText片段。

如果我使用'fragmentManager.replace(new TopFragment())',所以栈中只有1个片段,没有问题,并且光标移动到第2个EditText。

'fragmentManager.replace(...)'不是一个解决方案,我有一个回调底部片段。

enter image description here

+2

请澄清你的问题,我无法理解任何东西。 – Ivan

+0

问题确实不清楚。无法理解任何东西! –

+0

什么是1? 2? 3? – Pnemonic

回答

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; 
     } 
    }); 
+0

太棒了!我将nextEditText.requestFocus()添加到此片段中。并强制为预期的editText – itzhar

+0

重点确保检查其他片段是否存在,因为他们可以在应用程序的其他地方使用... – MaTriXy

+0

@itzhar高兴我帮助,你可以设置我的味精作为答案? ;) –