Android 如何移除后堆栈片段的焦点?

Android 如何移除后堆栈片段的焦点?,android,focus,fragment,onresume,Android,Focus,Fragment,Onresume,我正在应用程序中使用片段。我有一个片段包含EditText和一些Dialogfragment 当我单击一个特定的小部件时,它将移动到下一个片段。我需要backbackback中的第一个片段,所以我还添加了addToBackStack方法 第二个片段不包含任何EditText。现在的问题是,当我们触摸或按下第二个片段时,第一个片段中的EditText获得焦点,对话框就来了 我得到了以下代码 getView().setFocusableInTouchMode(true); getView().req

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

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

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

我得到了以下代码

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

我的问题的解决方案是,不用添加片段,只需使用替换,还有一件事我们可以避免,通过单击布局也可以从您的问题中了解到,您的当前片段没有焦点

尝试以下操作


@user2894326此设计使用了哪个库我没有使用任何库我想在将一个片段调用另一个片段时隐藏键盘@user2894326no。这是第二个没有edittext的片段。当从第一个移动到第二个时,键盘没有显示。问题是没有editext,它显示为editext get focus,当触摸显示的警报对话框时(这些警报对话框应填充在第一个片段中)。否,替换会导致许多场景需要您处理。最好试试我上面的答案。你给出的是替代方案,而不是问题的解决方案。
@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;
}