我面临一个奇怪的问题,我在ListView中添加了一个自定义行,当我删除Button行时可以选择,但是当我添加Button时我无法点击该行,请参阅下面的xml。 / p>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="77dp"
android:layout_height="77dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="18dp"
android:src="@drawable/company_logo" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="Idds sdsad "
android:textAppearance="?android:attr/textAppearanceLarge" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imageView1"
android:layout_below="@+id/textView1"
android:textColor="#8b8989"
android:layout_marginLeft="5dp"
android:text="Tap to see detail"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView2"
android:layout_centerHorizontal="true"
android:text="Button" />
请帮助解释为什么会发生这种情况。
答案 0 :(得分:26)
当您使用自定义行时。
在onclickListener
中为button
设置getView
后,请设置其focusability false
。
即button.setFocusable(false)
;
并为您的行的布局容器设置android:descendantFocusability="blocksDescendants"
。
您可以直接设置android:focusable="false"
,但这会使您的按钮无法点击。
答案 1 :(得分:20)
尝试设置
android:focusable="false"
android:focusableInTouchMode="false"
到xml中的Button
。 Button
获得焦点在行上,这就是您无法选择行的原因。