虽然ListView早已经被弃用了,但作为一个好久没接触Android的人来说也是让我醉了。话不多说,临时让做一个东西,然后做出来后发现,item无法得到监听,于是发现是被占用了焦点。
细细查看 item的代码 发现,自己将手机号码设置为 autoLink
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:text="姓名:" />
<TextView
android:id="@+id/item_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="xxx" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="10dp"
android:text="电话:" />
<TextView
android:id="@+id/item_tel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:autoLink="phone"
android:text="111111" />
</LinearLayout>
</LinearLayout>
android:autoLink="phone"
导致item无法被设置监听
android:descendantFocusability="blocksDescendants"
添加以上代码至根布局 LinearLayout中 便得以解决