3

我有一个listview. 还有一个包含很少布局的行布局。在行布局内,我有一个TextView要启用自动链接的链接当我启用自动链接时,链接工作正常,但是当我们单击列表行时得到的反馈不再有效。

在行布局内,我单击 之外的任何位置Textview,它会给出反馈,但是当我单击TextView它时,它不会给出反馈。

所以我猜测 textview 的自动链接正在窃取ontouchevent,因此它没有达到列表视图反馈功能。

这是列表行视图的 xml 代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" 
android:focusable="false"
android:background="@color/Green">

<TextView
    android:id="@+id/delivery_date"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:layout_margin="5dp"
    android:background="@color/Blue"
    android:padding="5dp"
    android:text="Delivery date"
    android:textAlignment="center"
    android:textAppearance="?android:attr/textAppearanceSmall" />


<android.support.v7.widget.CardView
        xmlns:cardview="http://schemas.android.com/apk/res-auto"
        android:id="@+id/card_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:background="@color/White"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        cardview:cardCornerRadius="5dp"
        cardview:cardElevation="5dp"
        cardview:cardBackgroundColor="@color/White"
        cardview:cardUseCompatPadding="true"
        >
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:descendantFocusability="blocksDescendants">
<TextView
    android:id="@+id/message_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:paddingTop="10dp"
    android:layout_marginBottom="10dp"
    android:text="M"
    android:gravity="top"
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:focusable="false"
    android:focusableInTouchMode="false"
    android:autoLink="web"
    android:background="@color/Blue"
    />

    <ImageButton
      android:id="@+id/Share"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_alignParentLeft="true"
      android:layout_below="@+id/message_text"
      android:focusable="true"
      android:layout_margin="5dp"
      android:background="@drawable/share3"
    android:adjustViewBounds="True" />

 <TextView
     android:id="@+id/time"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:layout_alignBaseline="@+id/Share"
      android:layout_alignBottom="@+id/Share"
      android:layout_alignParentRight="true"
     android:layout_margin="5dp"
     android:text="Timexxxxx"
     android:layout_gravity="right"
     android:textAppearance="?android:attr/textAppearanceSmall"
     android:textColor="@color/Time" />

 <ImageView
     android:layout_width="fill_parent"
     android:layout_height="wrap_content"
     android:layout_above="@+id/time"
     android:layout_alignParentLeft="true"
     android:paddingBottom="2dp"
     android:paddingLeft="5dp"
     android:paddingRight="5dp"
     android:paddingTop="2dp"
     android:layout_marginTop="10dp"
     android:scaleType="fitXY"
     android:src="@android:drawable/divider_horizontal_bright" />

 </RelativeLayout>
 </android.support.v7.widget.CardView>

</LinearLayout>

有人可以在这里帮忙吗?另外,是否有人可以解释与事件如何从子级传递给父级以及诸如android:focusable和之类的属性的相关性相关的任何规则android:descendantFocusability

提前致谢!

4

0 回答 0