【问题标题】:How to remove the focus of the back stack fragment?如何去除回栈片段的焦点?
【发布时间】:2015-04-26 01:54:58
【问题描述】:

我在我的应用程序中使用了片段。我有一个包含EditText 和一些Dialogfragment 的片段。

当我单击一个特定的小部件时,它将移动到下一个片段。我需要 backstack 中的第一个片段,所以我也添加了 addToBackStack 方法。

第二个片段不包含任何EditText。现在的问题是,当我们触摸或按下第二个片段时,第一个片段中的EditText 获得焦点并且对话即将到来。

我得到以下代码

getView().setFocusableInTouchMode(true);
getView().requestFocus();

我把它放在onResume()。但是onResume()根据一些android文档是不会被调用的。我该怎么办?这是显示问题的第二个活动的图片

【问题讨论】:

  • @user2894326 你在这个设计中使用了哪个库
  • 我没有使用任何库
  • 当您将一个片段调用到另一个片段时,您想隐藏您的键盘吗? @user2894326
  • no。这是第二个没有编辑文本的片段。并且键盘在从第一个移动到第二个时没有显示。问题没有editexts,它显示像editext获得焦点并且在触摸警报对话框时显示(这些警报对话框应该填充在第一个片段中)

标签: android focus fragment onresume


【解决方案1】:

我的问题的解决方案是使用替换而不是添加片段,还有一件事我们可以通过点击布局来避免这种情况

【讨论】:

  • 不,替换会导致您处理许多场景。最好试试我上面的答案。您提供的替代方案不是问题的解决方案。
【解决方案2】:

根据您的问题,我了解到您的 当前片段没有焦点

尝试关注

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInnstance) {
    View view = inflater.inflate(R.layout.your_layout, container, false);
    view.setOnClickListener(this);
    return view;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-13
    • 2016-10-09
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多