在做音乐播放器的时候,界面用到了几个fragment,每一个Fragment上面都只有一个ListView来作为显示的部分。这个有Fragment A,B,C。我在A上边的ListView上重写了他的onItemClick方法,然后切换到B。这里,注意下B中的Fragment中的xml布局。如果B的listView布局没有完全的覆盖A的话,此时在listView的没有Item的空白区域,发现,触发了Fragment中的方法。很奇怪。如果B中的listView完全覆盖A的话就不会存在这个问题。引起这个问题的原因在于事件想他的底层Fragment传递了。
方法有两个:
1.在Fragment中设置android:clickable=“true”,,Fragment android:clickable=默认是false。。让Fragment来是可单击的,来消耗点击事件不往下传递。
2.listView填满布局,这样Listview就消耗了点击事件。。