【问题标题】:Android - Next button not workAndroid - 下一步按钮不起作用
【发布时间】:2017-08-14 08:36:25
【问题描述】:

我在堆栈中有 2 个片段,它们都包含 EditTexts。 (红色的EditTexts来自底部片段)

当我点击软键盘的“下一步”按钮时,光标应该移动到第二个编辑文本,而是跳转到底部片段 EditText。

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

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

【问题讨论】:

  • 请澄清你的问题,我什么都不懂。
  • 问题真的不清楚。什么都看不懂!
  • 什么是 1? 2? 3?
  • 前景片段 EditTexts。红色的来自背景片段
  • 按照此处的回答手动设置下一个焦点字段:stackoverflow.com/questions/17989733/…

标签: android android-fragments android-edittext


【解决方案1】:

您可以做的是通过使用接口在片段之间进行对话或导出第二个片段的 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;
        }
    });

【讨论】:

  • 太棒了!我在这个 sn-p 中添加了 nextEditText.requestFocus()。它强制将焦点放在预期的editText
  • 确保检查其他片段是否存在,因为它们可以在应用程序周围的其他地方使用...
  • @itzhar 很高兴我帮到了你,你能把我的消息设置为答案吗? ;)
  • @MaTriXy 是对的,在您集中检查片段是否确实存在之前。
猜你喜欢
  • 2014-01-18
  • 2017-03-09
  • 2023-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多