我爲列表視圖編寫了自定義的項目佈局。佈局有很多小部件,有些將有自己的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也對我的不熟練感到抱歉 –