为了账号安全,请及时绑定邮箱和手机立即绑定

Android自定义ListView无法单击项目

Android自定义ListView无法单击项目

牧羊人nacy 2019-08-12 10:00:13
Android自定义ListView无法单击项目所以我有一个自定义的ListView对象。列表项目有两个堆叠在一起的文本视图,加上一个水平进度条,我想保持隐藏,直到我实际执行某些操作。最右边是一个复选框,我只想在用户需要将更新下载到他们的数据库时显示。当我通过将可见性设置为Visibility.GONE来禁用复选框时,我可以单击列表项。当复选框可见时,除了复选框之外,我无法单击列表中的任何内容。我做了一些搜索,但没有找到任何与我目前的情况相关的东西。我发现了这个问题但我正在使用重写的ArrayAdapter,因为我正在使用ArrayLists在内部包含数据库列表。我只需要获取LinearLayout视图并像Tom一样添加onClickListener吗?我不确定。这是listview行布局XML:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="fill_parent"     android:layout_height="?android:attr/listPreferredItemHeight"     android:padding="6dip">     <LinearLayout         android:orientation="vertical"         android:layout_width="0dip"         android:layout_weight="1"         android:layout_height="fill_parent">         <TextView             android:id="@+id/UpdateNameText"             android:layout_width="wrap_content"             android:layout_height="0dip"             android:layout_weight="1"             android:textSize="18sp"             android:gravity="center_vertical"             />         <TextView             android:layout_width="fill_parent"             android:layout_height="0dip"             android:layout_weight="1"             android:id="@+id/UpdateStatusText"             android:singleLine="true"             android:ellipsize="marquee"             />
查看完整描述

3 回答

?
万千封印

TA贡献1891条经验 获得超3个赞

问题是Android不允许您选择具有可聚焦元素的列表项。我修改了列表项上的复选框,使其具有如下属性:

android:focusable="false"

现在我的包含复选框的列表项(也适用于按钮)在传统意义上是“可选择的”(它们点亮,您可以单击列表项中的任何位置,“onListItemClick”处理程序将触发等)。

编辑:作为更新,一位评论者提到“只是一个注释,在更改按钮的可见性后,我必须以编程方式再次禁用焦点。”


查看完整回答
反对 回复 2019-08-12
?
千万里不及你

TA贡献1784条经验 获得超9个赞

如果您在列表项中包含ImageButton,则应将descendantFocusability值设置为根列表项元素中的“blocksDescendants”。

android:descendantFocusability="blocksDescendants"

并在视图中的focusableInTouchMode标志。trueImageButton

android:focusableInTouchMode="true"


查看完整回答
反对 回复 2019-08-12
?
跃然一笑

TA贡献1826条经验 获得超6个赞

我发生了类似的问题,发现CheckBox在ListView中相当挑剔。它会发生在整个ListItem上的意图,并覆盖onListItemClick。您可能希望为其实现单击处理程序,并为CheckBox设置text属性,而不是使用TextViews。

我会说看看这个View对象,它可能比CheckBox更好用

选中的文本视图


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 321 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信