我有一个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
?
提前致谢!