我的Fragment
占Activity
的一半。在它后面,ListView
。
问题是,当用户点击与Fragment
上的行重叠的ListView
上的任何位置时,会点击该行并调用它的onClick
方法。
解决方法是在onClick
布局XML文件中为LinearLayout
提供Fragment
,如下所示:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="com.example.karimnseir.instabeat.IBMenuFragment"
android:background="@color/material_blue_grey_950"
android:onClick="doNothing">
我认为这不是很优雅,因为我必须为使用此doNothing
的每个Activity
添加Fragment
方法
如果没有办法阻止onClicks在Fragment
之后的元素上被调用,那么如果没有虚拟方法,我怎么还能给它一个空onClick
呢?
谢谢
答案 0 :(得分:5)
您可以设置android:onClick
,而不是设置android:clickable="true"
。这将使View
捕获点击,而不是将其传递给后面的视图。