gpt4 book ai didi

android - 当 ListView.setChoiceMode 设置为 CHOICE_MODE_MULTIPLE_MODAL 时,使单个项目显示为已选中

转载 作者:太空狗 更新时间:2023-10-29 14:23:01 27 4
gpt4 key购买 nike

当您将 ADT 与 Eclipse 一起使用时,并告诉 ADT 使用主/从流程创建一个新 Activity ,此方法将出现在其中一个 fragment 中:

/**
* Turns on activate-on-click mode. When this mode is on, list items will be
* given the 'activated' state when touched.
*/
public void setActivateOnItemClick(boolean activateOnItemClick) {
// When setting CHOICE_MODE_SINGLE, ListView will automatically
// give items the 'activated' state when touched.
getListView().setChoiceMode(
activateOnItemClick ? ListView.CHOICE_MODE_SINGLE : ListView.CHOICE_MODE_NONE);
}

但是,我想实现一个MultiChoiceModeListener。因此,这需要我消除对该方法的所有引用,因为它会删除所需的 CHOICE_MODE_MULTIPLE_MODAL。但是,当 ActionMode 未处于 Activity 状态时,我仍然希望在从列表中选择其中一项后,个别项目显示为“已激活”,因为我仍在显示该项目的详细信息。 (显然,在适当的时候切换)有没有办法做到这一点?

最佳答案

However, I still want individual items to appear as 'activated' after selecting one of them from the list when the ActionMode isn't active, since I am still displaying that item's details. (Obviously, switching when appropriate) Is there a way to go about do that?

首先,您想要做的事情似乎有点违反直觉。当未显示上下文操作栏时,您将激活一行,但当 CAB 存在时,您将允许用户选择多行(?!)(当 CAB 存在时,详细信息面板会发生什么,并且用户选择了不同的行?!)。当 CAB 被取消并选择(激活)多行时会发生什么?当 CAB 被解雇时,详细信息面板会发生什么情况?

无论如何,可能最简单的方法是保留生成的方法(以及选择模式)并丢失 MultiChoiceListener。相反,您将为模拟 MultiChoiceModeListenerListView 管理您自己的 ActionModeActionMode 将从 ListView 上的 OnItemLongClickListener 触发。

关于android - 当 ListView.setChoiceMode 设置为 CHOICE_MODE_MULTIPLE_MODAL 时,使单个项目显示为已选中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15035598/

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