Listview删除项目并刷新 - android

2024-01-06

这个问题与此类似 -Android - Listview删除项目和刷新 https://stackoverflow.com/questions/4656841/android-listview-delete-item-and-refresh .

我无法使用以下命令刷新我的适配器:

adapter.notifyDataSetChanged();

I tried:

adapter.remove(adapter.getItem(pos));

但没有成功,只有一次(奇怪......)。

那里还有另一个答案:

Call that Activity once again Using Intent

有人可以给我这个(或适配器/光标)的确切代码吗?

我尝试了几个小时但没有成功。

我的完整代码:

protected void onCreate (Bundle SavedInstanceState) {


    super.onCreate(SavedInstanceState);
    setContentView(R.layout.personalmessageview);

    headtitle= getIntent().getExtras().getString("head");

    setTitle(headtitle);


     personalresults = getIntent().getExtras().getStringArrayList("personalres");
     personalresultswithtime = getIntent().getExtras().getStringArrayList("personalrestime"); 



    // setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,personalresults));

     ListView list = (ListView)findViewById(R.id.listview_personal);    
    // ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, personalresults);
     list.setAdapter(adapter);
     registerForContextMenu(list);


     list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
            public boolean onItemLongClick(AdapterView<?> av, View v, int pos, long id) {


                 String time = personalresultswithtime.get(pos).toString();


                    Show_Alert_box(v.getContext(),"Please select action.",time,pos);


                return true;
            }
        });

public void Show_Alert_box(上下文上下文,字符串消息,字符串时间,int位置) 最终字符串时间戳=时间;

              final int pos = position;

             final AlertDialog alertDialog = new  AlertDialog.Builder(context).create();
                alertDialog.setTitle(getString(R.string.app_name));
                alertDialog.setButton("Delete", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {

                        try
                        {
                            db = databaseHelper.getWritableDatabase();


                            db.delete("messages","timestamp" + "=?", new String[] { timestamp }); 

                            Log.d("DB"," delete! ");

                           ArrayAdapter<String> adapter = new ArrayAdapter<String>(PersonalMessageView.this, android.R.layout.simple_list_item_1, personalresults);


                                    adapter.remove(adapter.getItem(pos)); //not working t all! why ?

                            list.notify();
                            list.invalidate();


                            personalresults.remove(pos);
                            personalresultswithtime.remove(pos);

                            adapter.notifyDataSetChanged();

                            db.close();




                        }
                        catch(Exception e)
                        {

                        }
                } }); 
                alertDialog.setButton2("Cancel", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        alertDialog.dismiss();
                } }); 

                alertDialog.setMessage(message);
                alertDialog.show();

}


您可能已经解决了这个问题,但以防万一其他人也遇到同样的问题,这是我的解决方案:

ArrayAdapter<String> myAdapter = (ArrayAdapter<String>)getListView().getAdapter();
myAdapter.remove(myAdapter.getItem(info.position));
myAdapter.notifyDataSetChanged();

问题是您没有列表中的适配器。

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

Listview删除项目并刷新 - android 的相关文章

随机推荐

  • 字符串匹配技术

    以下字符串被视为相等 我怎样才能匹配这样的东西 Hazard Const Company hazard construction company PETERSON CHASE GENERAL ENGINEERING CONSTRUCTION
  • 获取 UITextView 中的当前段落?

    我想检测当前段落 这是到目前为止我的代码 但效果不太好 假设我有 3 个段落 当光标位于它们之间时 它会选择下一个段落 这是不对的 有一个更好的方法吗 通过这段代码 我想检测当前段落 然后更改该段落的字体 然后继续使用该字体书写 func
  • Go 中“Must”模式的内置助手

    是否有一个更内置的包装器来制作返回的函数 X error 成功执行或中止 例如regexp MustCompile 我说的是像这样的东西 http golang org src pkg text template helper go s 5
  • SecureRandom 线程安全吗?

    Is SecureRandom线程安全 也就是说 初始化之后 访问下一个随机数是否可以保证线程安全 检查源代码似乎表明确实如此 并且这个错误报告 https bugs java com bugdatabase view bug bug id
  • Google 天气 API 返回 HTTP 403 错误

    我在网站中使用 Google 天气 API 今天收到一条错误消息 指出 API 链接未返回任何数据 当我直接检查链接时 我得到一个 错误 403 谁能告诉我这个问题的解决方案并为我提供另一个 API 链接吗 API 有时会短时间停止工作 最
  • 锁定视图中的纵向方向? IOS 7

    因此 我想将主页的方向锁定为纵向 并且仅限主页 我使用的是选项卡栏控制器 因此初始视图是选项卡控制器 但首先出现的视图控制器是第一个选项卡 例如主页 我想这样做 以便当用户旋转设备时 它不会旋转到此页面上的横向 然而 所有其他页面都可以旋转
  • 如何正确使用tf.metrics.accuracy?

    我在使用时遇到一些问题accuracy函数来自tf metrics用于以 logits 作为输入的多重分类问题 我的模型输出如下所示 logits 0 1 0 5 0 4 0 8 0 1 0 1 0 6 0 3 0 2 我的标签是一种热门编
  • 通知区域“全部清除”按钮回调

    我正在开发 Android 应用程序 我必须计算应用程序通过通知启动的次数 我的问题是我无法捕获用户从通知区域按下 清除按钮 的事件 有什么方法或回调可以知道何时按下清除按钮 我读过有关deleteIntent的内容 但我不知道如何使用它
  • 如何在 C++ 中将字符串转换为无符号字符数组

    string temp temp line substr 0 pos 我需要将字符串 temp 转换为无符号字符数组 有人可以告诉我如何做到这一点吗 我尝试了下面链接中提到的方法 但它们不起作用 如何在 Visual C 中将字符串文字转换
  • 调用第二个 ajax 请求时,f:viewParam 带有 Converter 和 ViewScoped 异常

    我有这个f viewParam我尝试绑定验证并转换userId into Player 我得到了一个意外结果
  • 用于为 Windows 资源管理器编写上下文菜单项的指针[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 这是一个通用问题 有没有使用 C 为
  • Android Studio 无法打开(port.lock 访问被拒绝)

    当我打开Android Studio时 出现以下错误 java io FileNotFoundException C Users HP AndroidStudio2 2 config port lock Access is denied j
  • Android API 级别 7 中的 Base64 解码器

    如何在 Android API 级别 7 上将 Base64 编码的字符串解码为字节数组 可以使用任何标准的 Java 包来完成吗 我应该从谷歌搜索结果中复制源代码吗 我应该根据 RFC 重新实现编码器和解码器吗 PS API级别8有uti
  • 如何获取量角器中所有元素的文本

    我想获取所有li在谷歌搜索栏中输入 Webdriver 后的建议文本 我写了一些这样的代码 this getElements function element all by css ul sbsb b then function text
  • 更改应用程序模块的 module.config.php 时,zf3 骨架应用程序无法工作

    当更改应用程序模块的路径时 zf3 无法正常工作 下载一个zf3骨架应用程序 更改zf3的路由 router gt routes gt home gt type gt Literal class options gt route gt de
  • 在 Rstudio 中设置 Quarto 文档的目录

    I am currently trying to transition to Quarto from Rmarkdown However I am facing an issue with setting the correct proje
  • 使用 bash 脚本将一些行写入文件

    如何在 bash 脚本中向文件写入一些行 我想将以下内容写入文件中 inputrc e A history search backward e B history search forward e C forward char e D ba
  • Guid.NewGuid(); .NET Core 的幕后花絮

    昨天研究这个主题 我发现了几个有趣的问题 例如this one https stackoverflow com questions 35366368 does uuidcreate use a csprng 关于 GUID 最终是如何生成的
  • jquery 选择器与 css3 选择器的性能比较

    我对使用选择器 或一般简单的 css 选择器 的 css3 相当陌生 并且很好奇这些 css 选择器与 jquery 或 javascript 选择器的性能比较 假设你有这样的东西 CSS 版本 someID gt div nth chil
  • Listview删除项目并刷新 - android

    这个问题与此类似 Android Listview删除项目和刷新 https stackoverflow com questions 4656841 android listview delete item and refresh 我无法使