ArrayAdapter:按索引删除

2024-01-18

我有一个 ListView,其中填充了新闻服务器概要(只是故事列表)和一个用于修改该 ListView 的 arrayAdapter。

我可以通过“remove(Object)”函数删除项目,但是如果有多个“Object”实例怎么办? remove() 仅删除了“Object”的第一个实例。例如,我无法在不删除第一个“对象”的情况下删除阵列适配器中的第二个“对象”。所以我的问题是我该如何解决这个问题?

例如:纲要 A

story 1 
story 2
Break
story 3
story 4
Break
story 5
etc...

所以在这个例子中我无法删除第二个“Break”,因为remove('Break')将删除第一个。如果我可以删除ByIndex(5),那将是完美的,但是......

我尝试编写自己的删除函数,该函数创建一个包含除指定索引之外的所有成员的全新适配器。这就是我正在搞乱的。

public ArrayAdapter<String> removeIndex(ArrayAdapter<String> arr, int index) {
    ArrayAdapter<String> temp = new ArrayAdapter<String>(arr.getContext(),R.layout.list_item);
    for(int i =0 ; i<arr.getCount();i++){
        if(i != index) temp.add(arr.getItem(i));
    }
    return temp;
}

感谢帮助或建议。


使用 List 自行处理字符串集合,并将对象传递到 ArrayAdapter 的构造函数中。这将为您提供对列表的引用,以便您可以更改数据,同时允许适配器根据需要进行管理和显示。

Note:修改数据对象时必须调用

myAdapter.notifyDataSetChanged()

之后 - 也必须在 UI 线程上。显然,对列表的更改不必在 UI 线程上进行,并且很可能应该发生not发生在 UI 线程上。

private ArrayList<String> mData = new ArrayList<String>();
private ArrayAdapter<String> mAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // ...
    // Code that adds the strings
    // Create the list adapter
    mAdapter = new ArrayAdapter<String>(myActivity.this, android.R.layout.simple_list_item_1, mData);
}

private void removeItem(int index) {
    mData.removeAt(index);
    myActivity.this.runOnUiThread(new Runnable() {
        public void run() {
            mAdapter.notifyDataSetChanged();
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ArrayAdapter:按索引删除 的相关文章

随机推荐

  • 同时从多个线程使用同一个 FluxSink 是否安全

    我认识一个Publisher不得同时发布 但如果我使用Flux create FluxSink 我可以安全地打电话吗FluxSink next同时 换句话说 Spring 是否具有内部魔力来确保事件的正确串行发布 即使FluxSink ne
  • 注意:未定义偏移:2 如何解决?

    我在第 11 行和第 12 行遇到了未定义的 offset 2 错误 这是第 6 15 行的代码 if isset POST submit surveyID POST surveyCategory for i 0 i
  • GDI+ 通用错误 ASP.NET MVC

    我遇到了 GDI 通用错误我已经尝试了每个人所说的方法 即确保包含正在读取的图像文件的文件夹 如下所示 public ImageResult ProfileAsset string profile int width int height
  • 如何处理 Last.FM 或 Wikipedia 等社区 URL 样式?

    我试图理解我应该如何与角色一起工作URLs 这是因为我正在构建一个网站 用户可以在其中存储内容并通过在URL 所以 像Wikipedia or Last FM网站 我在网站上看到 用户可以写类似的内容http it wikipedia or
  • 我必须使用哪个 Windows 注册表项来安装 Delphi Expert?

    我需要为 Delphi IDE 专家创建一个安装程序 所以我找到了这两个注册表项 HKEY CURRENT USER Software Embarcadero BDS x 0 Known IDE Packages HKEY CURRENT
  • pd.read_html() 导入列表而不是数据框

    I used pd read html 从网页导入表格 但 Python 不是将数据构建为数据帧 而是将其导入为列表 如何将数据导入为数据框 谢谢你 代码如下 import pandas as pd import html5lib url
  • 在 Haskell 类型类中记录选择器

    我想实施一个Type Class有几个默认方法 但我收到一个错误 我无法使用record selectors inside type classes定义 下面的代码基本上创建了type class它定义了add函数 它应该添加一个元素到re
  • 在 ubuntu 12.04 上编译和构建 qt4

    我正在尝试从源代码编译和构建 Qt 4 8 3 当我执行 configure 时 收到以下错误消息 configure 183 configure QMAKE CXX print substr 0 index 0 1 not found E
  • Magento 1.7 验证码模块

    在新的 Magento 版本中 系统 gt 配置 gt 客户配置 gt 验证码 中的验证码选项我创建了一个名为 Signmeup 的新表单 但它似乎不起作用 我无法让它显示 目前该块未显示在页面上 不是动态页面 具有核心法师启动的静态页面
  • 获取字符串形式的对象属性名称

    是否可以获取字符串形式的对象属性名称 person person first name Jack person last name Trades person address person address street Factory 1
  • 仅显示 0-90% 或 0-95% 百分位

    这是我的代码和绘图结果 由于一些异常值 x 轴很长 有没有一种简单的方法可以过滤df fooR 中仅 0 90 或 0 95 百分位数 以便我只能绘制正常值 谢谢 df lt read csv Downloads foo tsv sep t
  • PostgreSQL - 当 UPDATE 失败时返回行内容

    当使用 PostgreSQL 更新行时 通过 UPDATE 语句 可以使用以下命令取回修改后的行内容RETURNING 我想知道当更新因约束而失败时是否有任何方法可以获取未修改的行 例如 执行以下命令 使用RETURNING 不返回当前行值
  • 在 Windows 7 64 位上安装 Android SDK:“未找到 JDK”? [复制]

    这个问题在这里已经有答案了 可能的重复 Android SDK安装找不到JDK https stackoverflow com questions 4382178 android sdk installation doesnt find j
  • “文件指针”、“流”、“文件描述符”和...“文件”之间的区别?

    有一些相关的概念 即文件指针 stream and 文件描述符 我知道一个文件指针是一个指向数据类型的指针FILE 例如声明FILE h and struct FILE h 我认识一个文件描述符 is an int 例如成员 fileno
  • 联系人选择器查询是否需要 read_contacts 权限,具体取决于 Android 版本?

    我们一直在尝试使用 Android 联系人选择器 以允许用户在应用程序不需要 READ CONTACTS 权限的情况下选择联系人 以下意图似乎适用于 4 0 ICS 设备以及 2 3 3 模拟器 Intent contactPickerIn
  • /**在c++中是什么意思

    我试图在 c 中添加块注释 但我做了一个 type o 并写道 代替 我注意到里面的评论变成了粗体 有谁知道这意味着什么 这种形式的评论被使用Doxygen http www doxygen nl 该软件使人们能够生成源代码文档 请参阅网站
  • 如何从jsp/servlet发送电子邮件?

    如何从 JSP servlet 发送电子邮件 是否需要下载一些 jar 或者您可以在没有任何 jar 的情况下从 JSP servlet 发送电子邮件吗 我的 Java 代码会是什么样子 我的 HTML 代码会是什么样子 如果有的话 是否需
  • in_array() 性能优化

    我有以下条件 if in array needle haystack in array needle somePostfix haystack in array needle someOtherPostfix haystack and so
  • 使用键:值对填充选择框?

    我正在使用 jQuery 并让服务器代码返回以下值 0 SELECT ONE 1 VALUE1 2 VALUE2 etc 如何将其填充到选择框中 var 0 SELECT ONE 1 VALUE1 2 VALUE2 targetSelect
  • ArrayAdapter:按索引删除

    我有一个 ListView 其中填充了新闻服务器概要 只是故事列表 和一个用于修改该 ListView 的 arrayAdapter 我可以通过 remove Object 函数删除项目 但是如果有多个 Object 实例怎么办 remov