当前位置: 首页 > 知识库问答 >
问题:

Android片段中的问题:仍然点击上一个片段

黄信厚
2023-03-14

我开发了一个应用程序,其中有导航抽屉和抽屉内的许多片段,所以我在打开片段内的片段时遇到问题,在一个片段中,当用户单击列表视图项时,我有列表视图,他们获得了与列表项相关的数据,所以我面临的问题是,它仍然单击不可见的列表,但单击

片段布局

 <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/layoutDrawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:clickable="true"
        android:background="@drawable/backgroung"
        android:id="@+id/content_frame"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"></FrameLayout>

    <LinearLayout
        android:id="@+id/linearDrawer"
        android:layout_width="@dimen/dp260"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:background="@color/white"
        android:layout_gravity="start">

        <RelativeLayout
            android:id="@+id/userDrawer"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:background="@color/white"
            android:layout_margin="@dimen/dp10">

开放片段代码

Fragment fragment = new FragmentContactDetails();
            FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
            transaction.add(((ViewGroup) getView().getParent()).getId(), fragment);
            transaction.addToBackStack(null);
            transaction.commit();

            Bundle args = new Bundle();
            int index = adapter.arrayList.indexOf(adapter.propertyList.get(position));

            args.putInt(Constant.POSITION, index);
            Toast.makeText(getActivity(), "" + index + "----" + adapter.propertyList.get(position).getName(), Toast.LENGTH_LONG).show();
            fragment.setArguments(args);

共有2个答案

养鸿运
2023-03-14

从中间到结尾编辑代码提交行

    Fragment fragment = new FragmentContactDetails();
                FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
                transaction.add(((ViewGroup) getView().getParent()).getId(), fragment);


                Bundle args = new Bundle();
                int index = adapter.arrayList.indexOf(adapter.propertyList.get(position));

                args.putInt(Constant.POSITION, index);
                Toast.makeText(getActivity(), "" + index + "----" + adapter.propertyList.get(position).getName(), Toast.LENGTH_LONG).show();
                fragment.setArguments(args);
transaction.addToBackStack(null);
                transaction.commit();
邢博涛
2023-03-14

看看我的这个问题:

点击片段后面的一个不可见布局:

在这种情况下,正如公认的答案所说,帮助我的是添加

android: clickable="true"

您为顶部片段(正在单击通过的片段)设计的布局的顶部层次结构ViewGroup的属性。这样,无论点击发生在哪里(即使没有对其应用任何操作),顶部片段都会拦截您的点击,并且不会传递到较低级别的片段/活动布局。

 类似资料:
  • 第二ragment.java jrizal_trivia.java 主要活动。Java语言 这就是错误 错误:(28,31)错误:没有为Intent(, Class)构造函数Intent找到合适的构造函数。Intent(String, Uri)不适用(参数不匹配;无法转换为String)构造函数Intent。Intent(Context, Class)不适用(参数不匹配;无法转换为Context)

  • 当我将一个片段(它是带有背景的全屏)显示在另一个片段(我们称之为main)上时,我的main片段仍然会对单击做出反应(即使我们没有看到按钮,我们也可以单击它)。 问题:如何防止点击第一(主)片段?

  • 隐藏程序是怎么处理碎片的?它只是将创建的视图设置为Gone吗?

  • 我有一个事件序列,通过它,我已经将三个片段一个接一个地添加到背景堆栈中。这些片段,每一个都覆盖了活动的全屏。 我已经存储了从Frag1的提交返回。 现在在Frag3中,基于特定的单击,我想直接回到Frag1并丢弃/弹出之间的所有Fragments。 因此,单击此按钮时,我会向活动发送一条消息,该消息执行以下操作: 但我只是得到一个空白屏幕,所以我假设没有加载碎片。 我甚至试过:在commit-

  • 我需要一些暑期项目的帮助 这是我的事件片段 这是我的MyList片段 我正在使用RecyclerViewCardView显示事件。其想法是,用户可以单击每张卡片右侧的大加号,卡片将显示在MyList片段中。我想问一下,是否可以将一张卡直接从一个片段转移到另一个片段?而且,这两个片段都包含在同一个活动中,这使得它有点棘手(我还没有找到任何可用的解决方案)。 如果不可能,另一种方法是将CardView

  • 我的屏幕上有一个按钮,我需要在单击按钮时传递布尔值。 在这里,当点击按钮时,它会启动一个片段并打开另一个屏幕,我只需要显示一个按钮。 同样,如果我从另一个片段导航,那么同一个按钮需要显示所有屏幕视图。 我可以沿着这个发送一个布尔值吗?它将如何在另一个片段中检索?