我为列表视图编写了自定义的项目布局。布局有很多小部件,有些将有自己的clicklistener。设置descendantFocusability =“blocksDescendants”后,列表视图的行中的textview不能点击
当我点击该行时,有时listview的onListItemClick工作,但有时不。
我花了一些时间搜索后,找到了一个方法,在布局的根目录下设置了android:descendantFocusability =“blocksDescendants”。它可以工作,但只有一个文本视图无法工作,(可点击,可卡纸属性已经尝试过)。在列表的适配器中,我设置了textview的onClickListener,它可以工作。但那不是天性,有人知道如何解决它吗?
btw,有没有一种方法来区分不同的小部件'点击?现在,不管我点击了什么(除了那个textview),整行的背景选择器都被改变了。
非常感谢!
//我的列表行布局根
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:descendantFocusability="blocksDescendants"
android:padding="@dimen/medium"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
//可怕的TextView
<TextView
android:id="@+id/text"
android:textColor="@android:color/secondary_text_light"
android:textColorLink="@android:color/holo_blue_dark"
android:layout_marginTop="@dimen/small"
android:textAppearance="@android:style/TextAppearance.DeviceDefault"
android:layout_below="@id/nick"
android:layout_alignLeft="@id/nick"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
更新
TextView的使用Linkify提供一些链接功能。
设置该属性可聚焦和focusableOnTouch mode属性和点击porperty为false TextView的XML –
@梆-A-tatRatatouille我将它们都设置为false,但是当我点击textview时,列表的onListItemClick仍然没有被调用。 – longkai
也将线性布局设置为不可点击,并将它们也设置在代码中,也就是说,在getView方法中,通过代码将属性设置为false也对我的不熟练感到抱歉 –