在Android的片段问题:仍然点击前一个片段

我已经开发了一个应用程序,有导航抽屉和抽屉里面的很多片段,所以我得到的问题,而我打开片段里面的片段,在一个片段我有列表视图时,用户点击listview项目他们获取数据相关的列表项目,所以我面临的问题它仍然点击不可见的列表,但点击

片段的布局

<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); 

Solutions Collecting From Web of "在Android的片段问题:仍然点击前一个片段"

看看我的这个问题:

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

在这种情况下帮助我的是什么,并且接受的答案是添加

android:clickable="true"

属性添加到您为顶部片段(正在被点击的片段)devise的布局的顶层层次结构ViewGroup 。 这种方式,顶部片段拦截你的点击,不pipe它们发生在哪里(即使没有动作应用到它),并没有被传递到较低级别的片段/活动布局。

编辑Y我们的代码提交行从中间到结束

  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();