与隐藏片段交互-Android

与隐藏片段交互-Android,android,android-fragments,fragmenttransaction,fragmentmanager,Android,Android Fragments,Fragmenttransaction,Fragmentmanager,我将片段添加到我的活动中,首先隐藏当前片段,然后添加新片段。我的问题是,当我展示我的新片段并开始与他交互时,它也会与前一个片段交互 我用于添加新片段和隐藏当前片段的代码是: public void add(int containerViewId, Fragment fragment, boolean addToBackStack){ FragmentTransaction ft = fragmentManager.beginTransaction().hide(currentFragme

我将片段添加到我的活动中,首先隐藏当前片段,然后添加新片段。我的问题是,当我展示我的新片段并开始与他交互时,它也会与前一个片段交互

我用于添加新片段和隐藏当前片段的代码是:

public void add(int containerViewId, Fragment fragment, boolean addToBackStack){
    FragmentTransaction ft = fragmentManager.beginTransaction().hide(currentFragment).add(containerViewId, fragment);
    if (addToBackStack){
        ft.addToBackStack(null);
    }
    ft.commit();
    currentFragment = fragment;
    backStackCount++;
}

发生了什么,以及如何隐藏片段以便我只能与最后添加的片段交互<代码>替换不是一个选项,因为我不想删除当前片段。

我也有类似的问题。我不知道是什么造成了这个问题,但我解决这个问题的方法是在片段的最外层设置一个onclick侦听器

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/top_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:clickable="false"
android:orientation="vertical"
tools:context=".Fragments.TopicsFragment">

...other components
</LinearLayout>

另外,您可能会看到我在最外层的布局中添加了一个背景#FFFFFF,因为在我的示例中,前面片段的内容在新片段的后面也是可见的。所以这也解决了这个问题。

我也有类似的问题。我不知道是什么造成了这个问题,但我解决这个问题的方法是在片段的最外层设置一个onclick侦听器

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/top_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:clickable="false"
android:orientation="vertical"
tools:context=".Fragments.TopicsFragment">

...other components
</LinearLayout>

另外,您可能会看到我在最外层的布局中添加了一个背景#FFFFFF,因为在我的示例中,前面片段的内容在新片段的后面也是可见的。这也解决了这个问题。

谢谢你的回答。我已经试过了,而且效果很好,但这看起来很“黑客”。我也在寻找发生这种情况的原因。谢谢你的回答。我已经试过了,而且效果很好,但这看起来很“黑客”。我也在寻找发生这种情况的原因。