【发布时间】:2016-08-27 10:04:08
【问题描述】:
对于具有如下自定义行布局的 ListView:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="51dp"
android:layout_height="43dp"
android:id="@+id/btnBin"
android:focusable="false"
android:focusableInTouchMode="false"
android:background="@drawable/ktape" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Temporary"
android:id="@+id/txtShowUsername"
android:layout_gravity="center_horizontal"
android:layout_weight="1"
android:paddingTop="20dp"
android:gravity="right"
android:paddingRight="10dp" />
</LinearLayout>
按钮不应该是可聚焦的,让 ListView 的 OnItemClickListener 执行:
android:focusable="false"
android:focusableInTouchMode="false"
为什么我需要将焦点设置为 false?为什么可聚焦按钮会阻止 OnItemClickListener.OnItemClick() 执行?
【问题讨论】:
-
会发生什么?项目点击监听器是否正常工作?
-
@Raghunandan,我想知道为什么我需要将焦点设置为 false。
-
你可以看源码,找出原因
标签: android listview focusable