gpt4 book ai didi

android - CheckedTextView 不响应点击

转载 作者:太空宇宙 更新时间:2023-11-03 10:29:46 24 4
gpt4 key购买 nike

我有一个用 CheckedTextViews 动态填充的 ListView 。 ListView 设置为多选模式。我正在使用 OnItemClickListener 来响应对我的 ListView 的点击。我还用 CheckedTextView 的布局制作了一个 XML 文件(实际上它只是标准 android.R.layout.simple_list_item_multiple_choice 的副本)。所以在这种情况下一切正常:当我单击 ListView 中的项目时,相应的 checkedtextview 会被选中。但是当我尝试使用以下布局时,checkedtextview 没有响应点击并且仍然未选中。

<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ll"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:orientation="vertical"
android:padding="5px">
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="fill_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:drawableLeft="@drawable/checkbox_selector"
android:paddingLeft="6dip"
android:paddingRight="6dip"
android:background="#00ffffff"
android:textSize="15sp"
android:singleLine="true"/>
</LinearLayout>

我猜这是因为 CheckedTextViews 被放入了 LinearLayout 并且它们没有从 Listview 的列表项接收点击事件。

最佳答案

我猜不一样。如果您查看 source code of simple_list_item_multiple_choice.xml ,您会看到 android:checkMark 属性设置为 ?android:attr/listChoiceIndicatorMultiple。这就是 CheckedTextView 内部用来在任何状态下绘制复选框的内容,正如您可以从 its source code 中看到的那样.

但是您布局中的 CheckedTextView 定义缺少此属性。我会责怪这个,而不是在 LinearLayout 元素中使用 CheckedTextView

我错了,你猜对了。似乎自定义 ListView 的行需要实现 CheckableCheckedTextView 可以实现,但 LinearLayout 不需要。参见 this answer在另一个 StackOverflow 线程中了解详细信息。

关于android - CheckedTextView 不响应点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7806977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com