虽然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中 便得以解决