我有一个包含图像视图,文本视图和复选框的ListView。当我添加imageview时,行变得无法点击。我尝试过多种解决方案,包括android:focusable="false"
,android:descendantFocusability="blocksDescendants"
和android:clickable=true
。
这是我的ListView:
<?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"
android:background="#000000"
android:clickable="true"
android:descendantFocusability="blocksDescendants"
android:orientation="vertical" >
<ImageView
android:id="@+id/imgListView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:focusable="false"
android:src="@drawable/ic_launcher" />
<TextView
android:id="@+id/txtListView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/imgListView"
android:focusable="false"
android:textColor="#FFFFFF" />
<CheckBox
android:id="@+id/chkListView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:focusable="false" />
</RelativeLayout>
以下是使用它的活动:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#000000"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".FolderActivity" >
<ListView
android:id="@+id/lstFolders"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:dividerHeight="1dp"
android:divider="#FFFFFF">
</ListView>
</RelativeLayout>
我只需要像之前那样再次点击行。
PS:当我第一次添加复选框并用android:focusable="false"
解决它时,我也遇到了同样的问题。
答案 0 :(得分:0)
为什么不在适配器的getview方法中为每个视图编写on click侦听器。
也请参考这个问题
Android: ListView elements with multiple clickable buttons。
因为即使我有同样的问题,根据我的经验,如果你只有一个可以在listview中点击的元素,那么xml参数可以工作,对于多个我只在适配器内编写它。
答案 1 :(得分:0)
我们需要进行以下更改,以便通过避免点击/关注listview项目的组件来允许项目点击列表视图。