具有复选框行为的自定义列表视图,如 Gmail 应用程序

2024-01-18

我在这里阅读了很多有关列表视图和复选框的帖子。他们中的很多人都使用 CheckedTextView 或扩展它。我想实现一个带有复选框行为的自定义列表视图,就像在 android 邮件应用程序(Gingerbread、ICS)上一样:只有复选框是可选的,而不是整行。另外,在 ICS 上,操作栏指示已检查列表项的数量。

任何人都可以向我展示一些代码或指出我正确的方向吗?谢谢!


查看 API 演示列表 16 多选模式中的示例

public class List16 extends ListActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    ListView lv = getListView();
    lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
    lv.setMultiChoiceModeListener(new ModeCallback());
    setListAdapter(new ArrayAdapter<String>(this,
            android.R.layout.simple_list_item_activated_1, 
            Cheeses.sCheeseStrings));
}

@Override
protected void onPostCreate(Bundle savedInstanceState) {
    super.onPostCreate(savedInstanceState);
    getActionBar().setSubtitle("Long press to start selection");
}

private class ModeCallback implements ListView.MultiChoiceModeListener {

    public boolean onCreateActionMode(ActionMode mode, Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.list_select_menu, menu);
        mode.setTitle("Select Items");
        return true;
    }

    public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
        return true;
    }

    public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
        switch (item.getItemId()) {
        case R.id.share:
            Toast.makeText(List16.this, "Shared " + getListView().
            getCheckedItemCount() +
                    " items", Toast.LENGTH_SHORT).show();
            mode.finish();
            break;
        default:
            Toast.makeText(List16.this, "Clicked " + item.getTitle(),
                    Toast.LENGTH_SHORT).show();
            break;
        }
        return true;
    }

    public void onDestroyActionMode(ActionMode mode) {
    }

    public void onItemCheckedStateChanged(ActionMode mode,
            int position, long id, boolean checked) {
        final int checkedCount = getListView().getCheckedItemCount();
        switch (checkedCount) {
            case 0:
                mode.setSubtitle(null);
                break;
            case 1:
                mode.setSubtitle("One item selected");
                break;
            default:
                mode.setSubtitle("" + checkedCount + " items selected");
                break;
        }
    }

}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有复选框行为的自定义列表视图,如 Gmail 应用程序 的相关文章

  • 随着手指的滑动改变活动

    我想知道如何通过滑动手指来更改活动 或者从右向左滑动手指并更改活动 就像我们在智能手机上看到图片的方式一样 有人知道吗 Cumpz 请参阅以下链接 http savagelook com blog android swipes or fli
  • Android 上的多处理

    我一直在 Android 上执行一些测试 以验证并行化算法 如 FFT 的性能可以提高多少 我通过使用带有 JNI FFTW 的 pthread 和 Java 线程 来自 JTransforms 来实现这些算法 我没有像预期那样通过使用线程
  • 使用 HashMap 映射 String 和 int

    我有一个显示国家 地区名称的列表视图 我已将名称作为字符串数组存储在 strings xml 中 称为国家 地区名称 在填充 ListView 时 我使用从 strings xml 读取的 ArrayAdapter String count
  • 从txt文件中读取数据而不下载它?

    我想从提供的文本文件中解析信息 有没有一种方法可以在应用程序中执行此操作 而无需先下载文件 以某种方式传输文本内容 打开到 URL 的 Http 连接 使用内置 HttpURLConnection 或使用 commons httpclien
  • Android 偏好设置中的“是”或“否”确认[重复]

    这个问题在这里已经有答案了 我需要在 设置 中实现 重置 选项 单击该设置后 将打开一个简单的对话框 要求确认 我看过了DialogPreference但我似乎无法在任何地方找到好的解决方案或教程 有人可以帮我吗 我是初学者 想法甚至代码都
  • 定时器时间不作为变量改变?

    这是我的代码 private int V Time 1 try final Timer V Timer final Handler V Handler V Timer new Timer V Handler new Handler Loop
  • 如何以编程方式关闭画中画

    我在使用画中画模式时遇到了这个问题 当从 PIP 本身以外的其他位置再次打开 Activity 时 我想关闭 PIP 画中画 不是来自关闭按钮 我想要与 youtube 相同的场景 即当用户单击 PIP 画中画 时 它会打开相同的活动 但是
  • 移动到SD卡

    我知道从 android 2 2 开始可以使用移动到 SD 卡功能 我想知道有没有办法在我的程序中检测设备是否支持移动到 SD 卡功能 如果支持 则可以移动 否则如果不支持 则什么也不会发生 将在手机内存中 我的主要问题是我的应用程序支持
  • 如何让 Mockito 在 androidTest 中工作

    在我的测试中 我如何模拟我编写的课程 这是我的测试代码 import android support test runner AndroidJUnit4 import org junit Before import org junit Te
  • React Native v0.71.8 React-native-vector-icons 你看不到的图标

    我在用react native版本v0 71 8 我安装了react native vector icons库 但图标未显示 似乎链接在最新版本的 React Native 中不再起作用 所以我按照说明进行操作 但它不再编译 出现以下错误
  • Android 导航 DeepLinks - 如何区分使用导航操作进行导航与深层链接

    我有导航操作和深层链接 根据您导航的位置 将您带到某个片段 我想确定是使用了深层链接还是仅使用了导航操作 这正是KEY DEEP LINK INTENT https developer android com reference andro
  • 布局聊天气泡问题:TextView 占满整个屏幕

    我正在研究泡泡聊天 我使用具有两种布局的适配器 一种用于传入消息 另一种用于我的消息 适配器工作正常 我的问题在于传入布局 无法很好地显示传入时间文本 当消息文本增长时 会填满屏幕的整个宽度 并隐藏消息时间的文本 第一个问题 如何才能实现这
  • 获取接收者的设备令牌以在 Firebase 中发送通知

    所以我正在学习如何使用 firebase 发送设备到设备的通知 我看到了这个answer https stackoverflow com a 42548586 5237289发送通知 看起来很简单 现在 我知道要获取发件人的令牌 它应该如下
  • Meteor:即使设置了 ANDROID_HOME 也未设置

    操作系统 Ubuntu 14 04 框架 流星1 1 0 2 应用名称 Songofy 这是输出meteor install sdk android meteor install sdk android Found Android bund
  • 什么是版本代码主要?和versionCode有什么区别?

    我刚刚发现PackageInfo versionCode https developer android com reference android content pm PackageInfo html versionCode在 Andr
  • Desire HD 中的应用程序崩溃

    由于某些莫名其妙的原因 我的应用程序在 HTC Desire HD 上崩溃了 它在其他手机和模拟器中运行良好 这是崩溃报告 java lang RuntimeException Unable to start activity Compon
  • android中如何将字符串转换为unicode

    我正在解析一些unicodes from json to my android应用程序 API 给出unicodes像这样的图标 ue600 当我将这个unicode直接添加到textview like textview setText u
  • 调用外部应用程序

    如何从我的应用程序调用外部应用程序 例如 我需要打电话Shazam 应用程序 来自我的应用程序 我可以在应用程序的包名称中看到logcat 这对任何目的都有用吗 特别是对于 Shazam 以下代码有效 Intent intent new I
  • 如何检查设备上是否安装了电子邮件客户端

    我需要检查设备上是否安装了电子邮件客户端 我使用了以下代码 但它对我不起作用 public boolean isIntentAvailable final PackageManager packageManager getApplicati
  • FragmentMap + ActionBar 选项卡

    我一直在尝试插入一个MapView进入一个ActionBar Tab 但我什至无法解决问题 即使谷歌搜索 这是主要活动 Override public void onCreate Bundle savedInstanceState supe

随机推荐

  • 使用 C++ dll 的 C# 应用程序中的堆栈溢出

    我有一个使用 c cli 托管 dll 的 C 程序 该dll包含大量遗留代码 由相当多的win32窗口组成 问题是 dll 中的窗口需要比平均水平多一点的堆栈空间cough 由于这些不是后台进程 而是 win32 api 我需要扩大 GU
  • 在我的 Xampp 本地主机中哪里可以找到 .htaccess 文件

    我这里有一个简单的问题 我是使用 php 和 apache 的初学者 实际上我想修改 htaccess 中的一些配置 但我找不到 任何人都可以告诉我它位于哪里 TIA htaccess设置目录特定设置 它可以进入每个网络目录根据需要更改设置
  • 我真的应该删除 ValueEventListener 吗?

    DatabaseReference Ref FirebaseDatabase getInstance getReference Constants Client path Ref keepSynced true Ref addValueEv
  • 在 asp.net 中使用 SAML2.0 进行 SSO

    我的要求是在asp net中使用SAML2 0实现SSO 我这边确实有 2 个供应商 想要将用户从一个站点传递到另一站点而不登录第二个站点 我以前从未使用过SAML2 0 谁能帮我看看我该如何完成它 首先让我们区分协议和令牌格式 我假设您正
  • 在模态框中打开网页?

    这可能吗 不仅是 html 还有不同的样式表等 同时遮蔽屏幕的其余部分 谢谢你的帮助 Ann 查看Colorbox http colorpowered com colorbox Demo http colorpowered com colo
  • 从 Dart 中的 JavaScript 对象获取任意属性

    Edit 这是一个说明我的问题的最小项目 https github com ahirschberg dart js interop toy您可以通过将其提供给浏览器来查看所描述的错误 pub get然后要么pub serve 飞镖 或pub
  • mysql 按字母顺序排列

    我正在尝试按字母顺序对 mysql 数据进行排序 一个 乙 C D 当我点击 B 时 此查询运行 按 b 从用户顺序中选择名称 但结果显示以 a 或 c 或 d 开头的所有记录 我想显示仅以 b 开头的记录 感谢帮助 我想显示仅以 b 开头
  • “git revert”中的“他们”和“我们”是谁?

    我无法理解谁us and them在这些冲突中git revert 所以我真的不知道这里发生了什么 git revert some commit hash Then git status显示以下冲突 deleted by them path
  • 编写编译器……什么是对的,什么是错的? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用干净或自定义配置文件启动 VSC

    通常 VSC 将设置和用户数据存储在 appdata Code 以及扩展名 userprofile vscode 有没有办法告诉新实例加载其他一些配置文件或从 空白画布 开始 就像您可以使用 Firefox 一样 no remote pro
  • 使用 SFML 使自定义类型可绘制

    我最近开始使用 SFML 我决定作为一种学习经验 我将使用它制作一个 pong 克隆 我定义了一个名为Ball绘制使用 SFML 绘制RectangleShape 当我尝试使用以下命令将这个自定义类型绘制到屏幕上时window draw 但
  • Rust 基准测试已优化

    我正在尝试对从 Rust 哈希映射中获取密钥进行基准测试 我有以下基准 bench fn rust get b mut Bencher let hash keys get random hash
  • Qt 去除边距

    我目前正在使用 QMainWindow 小部件 我想删除内部小部件周围的边距 我成功删除了窗口边框的边距 但没有删除窗口内小部件的边距 这是我的代码 例如 this gt mainWidget new QWidget this this g
  • 如何使用Javascript切片提取字符串的第一个和最后一个字母?

    如何使用 JavaScriptslice提取字符串的第一个和最后一个字母 Eg Hello World 我需要的结果是 dH 以下是我的 jsfiddle http jsfiddle net vSAs8 http jsfiddle net
  • log4net AdoNetAppender 截断消息文本

    我遇到一个问题 无论我做什么 我的消息字段都会被截断为大约 42k 这是一个简短的片段来说明我的配置
  • R - 匹配不同长度矩阵的行和列

    我现在的问题如下 我有一个有向 1 模式边缘列表 代表在某一年参与联合项目的演员对 可能如下所示 projektleader projectpartner year A B 2005 A C 2000 B A 2002 现在我只需要某一特定
  • 如何将 UITextField 中用作 leftView 的 UILabel 与 textField 的文本垂直对齐?

    我正在使用一个UILabel as the leftView of a UITextField 问题是文本字段的文本高于标签的文本 这是我到目前为止使用过的代码 UILabel startsWith UILabel alloc init s
  • React-Navigation:使用/更改带有 Redux 状态的标题标题

    是否可以访问 React Navigation 的标题标题中的整个 Redux 状态 The 官方文档 https reactnavigation org docs intro headers表示导航对应的状态是可访问的 static na
  • 交叉编译中的CMake CMAKE_AUTOMOC

    我有以下问题 我尝试使用 CMake 中构建的本机机制进行交叉编译 我准备了以下 toolchain cmake 文件 set CMAKE SYSTEM NAME Linux set CMAKE SYSTEM PROCESSOR arm s
  • 具有复选框行为的自定义列表视图,如 Gmail 应用程序

    我在这里阅读了很多有关列表视图和复选框的帖子 他们中的很多人都使用 CheckedTextView 或扩展它 我想实现一个带有复选框行为的自定义列表视图 就像在 android 邮件应用程序 Gingerbread ICS 上一样 只有复选