首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在自定义视图中使用CheckedText的带有CHOICE_MODE_MULTIPLE的ListView

在自定义视图中使用CheckedText的带有CHOICE_MODE_MULTIPLE的ListView
EN

Stack Overflow用户
提问于 2011-04-10 23:01:14
回答 1查看 31K关注 0票数 19

关于如何使用CheckedTextView有很多问题,但我不能让它正常工作。

我有一个带有自定义视图的CursorAdapter,它有一个带有android:id="@android:id/text1"CheckedTextView。我之所以使用android:id/text1,是因为有不同的问题提到,如果你使用它,你将免费获得选择模式的倍数。

如果我这样做:

final long[] checkedIds = mListView.getCheckedItemIds();
for ( int i = 0 ; i < mListView.getCheckedItemCount() ; i++ ) {
    Log.d(TAG, "id checked: " + checkedIds[i]);
}

我没有任何问题地获得了所有检查过的in,但我在ListView中看不到任何视觉反馈。

换句话说,逻辑是正确的,但是当我单击CheckedTextView时,绿色的勾号并没有显示出来。

我正在阅读ListView src代码,但找不到任何对android:id/text1的引用,这让我想知道是否应该自己处理小部件的选中状态。

任何人都能发现android:id/text1在哪里被用来检查小部件吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-04-10 23:39:36

根据我对代码的阅读,行必须实现Checkable

if (mChoiceMode != CHOICE_MODE_NONE && mCheckStates != null) {
    if (child instanceof Checkable) {
        ((Checkable) child).setChecked(mCheckStates.get(position));
    }
}

这适用于具有选择模式的列表的股票行布局,因为该行是实现CheckableCheckedTextView

因此,将Checkable接口添加到您的自定义View中,将该接口的方法委托给CheckedTextView,看看是否可行。

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5612600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档