SQLite 数据库不更新列表视图项并插入新项

2024-02-29

当项目为listview单击后,它会在另一个活动中打开,该活动具有edittext。编辑项目后,当我保存它时,项目不会在列表视图中更新,但会在列表视图中插入一个新条目。

如何更新现有项目而不插入新项目?

这是我的代码

活动:TRList.class

ArrayList<HashMap<String, String>> items = new ArrayList<>();
List<TRListFormat> list = trDb.getAllReminders();

for (TRListFormat val : list) {
    HashMap<String, String> map = new HashMap<>();
    map.put("title",val.getTitle());
    map.put("description", val.getDes());
    map.put("date", val.getDate());
    map.put("time", val.getTime());

    items.add(map);
}

adapter = new SimpleAdapter(this, items, R.layout.tr_list_format,
            new String[] { "title", "description", "date", "time" },
            new int[] {R.id.tbr_title, R.id.tbr_des, R.id.tbr_date, R.id.tbr_time });

lv = (ListView)findViewById(R.id.tbr_list);
lv.setAdapter(adapter);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
            Intent intent = new Intent(TRList.this, TRTimeReminder.class);
            intent.putExtra("remId", (int)id);
            startActivity(intent);
        }
});

When listView单击项目,它会打开另一个活动

TRTimeReminder.class我已经设定保存按钮 in menu

case R.id.menu_tbr_done:
            String title = edTitle.getText().toString();
            String des = edDes.getText().toString();
            String time = timeView.getText().toString();
            String date = dateView.getText().toString();

            Bundle extras = getIntent().getExtras();
            if(extras != null) {
                int value = extras.getInt("remId");
                if (value > 0) {
                    trDb.updateReminder(new TRListFormat(value, title, des, date, time));
                }
            }
            else{
                trDb.addReminder(new TRListFormat(title, des, date, time));
            }

            Intent i = new Intent(getApplicationContext(), TRList.class);
            startActivity(i);

            edTitle.getText().clear();
            edDes.getText().clear();
            dateView.setText(currDate);
            timeView.setText(currTime);

            return true;

TRDBHelper.class

//Add new reminder
void addReminder(TRListFormat format){

    SQLiteDatabase db = this.getWritableDatabase();

    ContentValues values = new ContentValues();
    values.put(COLUMN_TITLE, format.getTitle());
    values.put(COLUMN_DES, format.getDes());
    values.put(COLUMN_DATE, format.getDate());
    values.put(COLUMN_TIME, format.getTime());

    db.insert(TABLE_NAME, null, values);
    db.close();
}

//Update single reminder
public void updateReminder(TRListFormat format){

    SQLiteDatabase db = this.getWritableDatabase();

    int id = format.getId();

    ContentValues values = new ContentValues();
    values.put(COLUMN_ID, format.getId());
    values.put(COLUMN_TITLE, format.getTitle());
    values.put(COLUMN_DES, format.getDes());
    values.put(COLUMN_DATE, format.getDate());
    values.put(COLUMN_TIME, format.getTime());

    db.update(TABLE_NAME, values, COLUMN_ID+ " = " +id, null);
    db.close();
}

我认为你的适配器有问题。有 2 个可能的问题。

  1. 适配器数据未更新。你说的是相反,新值被添加到 ListView 中。你真的确定吗?
  2. 您还没有调用适配器的方法notifyDataSetChanged() http://developer.android.com/reference/android/widget/BaseAdapter.html#notifyDataSetChanged()更改值后。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQLite 数据库不更新列表视图项并插入新项 的相关文章

  • 如何设计Android建筑物室内地图? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想设计一个 Android 应用程序 它可以帮助学生和其他人在特定建筑物 一层 中导航 显示前往教室的步行方向 我需要帮助 这是您通
  • React-Native 中的导航抽屉

    我是反应原生的新手 不介意我问一个基本问题 我想知道 实现抽屉式导航的分步过程是什么 推荐链接这个链接 https github com react native community react native side menu usage
  • Android 套接字和 HTTP 响应标头

    有趣的是 我可能无意中找到了解决方案是否可以使用普通套接字连接发送 HTTP 请求并接收没有标头的响应 https stackoverflow com questions 8320574 我希望我忽略了一些东西 无论如何 我正在连接到 We
  • Android 操作栏 SearchView 作为自动完成功能?

    我在操作栏中使用 SearchView 我想在搜索视图上使用自动完成功能来从数据库中获取结果 这可能吗 或者我是否需要使用自定义文本框 然后添加自动完成功能 所以我只需要对 v7 版本执行此操作 并沮丧地发现我不能简单地使用 ArrayAd
  • drupal 7 将实际内容存储在数据库中的哪里?

    我打开了 drupal 7 的数据库并在表中查找node node revisions and node types并且找不到 drupal 存储实际的位置body节点 内容 的 有人有线索吗 哦 我刚刚找到了 在 D7 中 他们实现了字段
  • 为什么Android room不建议使用allowMainThreadQueries()?

    我正在创建一个小型应用程序 仅在数据库中保存一些计数器 如果不存在 请插入一个 如果是的话 增加更新 该应用程序没有任何用户界面 它是一个保存和读取数据 少量表 少量记录 的插件 我可以用吗允许主线程查询 在这种情况下 每次我读到一些关于这
  • openFileOutput 在单例类中无法正常工作 - 想法/解决方法?

    作为一名 Android 开发新手 我遇到了一些奇怪的问题 我想创建一个类 它方法其他类 活动 任何可以用于以某种特殊方式处理文件的类 假设为了简单起见 我们将记录一些内容 如果我在活动中执行以下操作 例如在 OnClick 侦听器中 则一
  • 彩信数据总是错误

    我正在从 Galaxy S6 读取短信和彩信数据 所有 SMS 消息都有一个date像这样的字段1456252633000 该数字是 unix 时间戳 1000 我发送 未收到 的彩信具有如下日期字段 1440628863时间戳是正确的 u
  • Android TextView 中的等宽表格数字

    我有一个自定义字体 默认情况下具有可变宽度数字字形 并且我想在 Android 中使用该字体的等宽表格数字功能TextView使数字垂直对齐 也就是说 改变如下 像这样的事情 要选择字体的表格数字功能 请使用TextView s fontF
  • 在 Unity 中构建 apk 应用程序时包含文件

    在unity中构建apk文件时如何将文件和文件夹添加到apk文件中 我需要的是在Android上安装应用程序后 在应用程序的父目录 android data com company product files 中存在一些文件和文件夹 这是我
  • 视图随软键盘移动,遮挡其他 UI 对象

    我有一个容器视图 我希望它始终位于视图底部 位于 ScrollView 下方 ScrollView 有一些 UI 对象 其中一个是 EditText 对象 目前 当用户点击 EditText 对象内部时 android softkeyboa
  • android gradle插件-离线安装

    我必须在离线电脑上安装 android gradle 插件 通过谷歌搜索 我了解到我可以通过本地 Maven 存储库来做到这一点 但从不成功的尝试和所有关于这个问题的质量保证中我知道这并不简单 我从来没有和maven一起工作过 有经验的人可
  • java.exe 以非零退出值 1 结束

    只是为了开始 我并不是真正尝试从 Android 中的 xlsx 文件中读取单元格 我已经尝试了几乎所有我在 Google 上搜索到的内容 但是每次 在两台不同的 PC 上 都是 Java 1 7 0 79 当我尝试构建 运行 这个应用程序
  • 是否可以更新 amazon dynamodb 中的哈希键?

    我想更新 amazon dynamodb 表中的哈希键值 我在同一张表中也有一个范围键 是否有可能做到这一点 您无法更新哈希键值 您必须删除并重新创建该项目 这是相关的aws文档http docs aws amazon com amazon
  • Android 导航 DeepLinks - 如何区分使用导航操作进行导航与深层链接

    我有导航操作和深层链接 根据您导航的位置 将您带到某个片段 我想确定是使用了深层链接还是仅使用了导航操作 这正是KEY DEEP LINK INTENT https developer android com reference andro
  • android中如何将字符串转换为unicode

    我正在解析一些unicodes from json to my android应用程序 API 给出unicodes像这样的图标 ue600 当我将这个unicode直接添加到textview like textview setText u
  • 如何检查设备上是否安装了电子邮件客户端

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

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

    我的 Android 手机的外部存储中有一个文件 在本例中是模拟的 知道通往它的路径和 或拥有File代表它的对象 我如何使用Intent在适当的应用程序中打开它 我尝试的第一件事是 startActivity new Intent Int
  • Android:通过查找带有标签而不是 ID 的容器来添加片段

    我正在使用 for 循环创建片段的多个实例 在每个片段中 我需要添加另一组子片段 为此 我需要找到正确的容器 如果我使用容器的 ID 所有子片段都会添加到第一个父片段 而不是它们自己的父片段 在我的主要片段中 for ParentFragm

随机推荐

  • 在 Woocommerce 订单和电子邮件中的订单总计后添加自定义文本

    我使用它在购物车和结账页面上为来自特定国家 地区的客户显示自定义文本 add filter woocommerce cart totals order total html custom total message html 10 1 fu
  • OpenCsv 读取带有转义分隔符的文件

    我正在使用 opencsv 2 3 它似乎没有像我预期的那样处理转义字符 我需要能够处理不使用引号字符的 CSV 文件中的转义分隔符 示例测试代码 CSVReader reader new CSVReader new FileReader
  • Akka TestProbe 测试 context.watch() / 终止处理

    我正在使用 TestKit 测试 akka 系统 我正在测试的系统的一个参与者在收到某种消息类型后 context watches 发送者 并在发送者死亡时自杀 trait Handler extends Actor override de
  • Eclipse 将项目中的所有文件视为派生文件

    我在 Eclipse 工作区中创建了一个动态 Web 项目 它也是一个 Maven 项目 并受 SVN 控制 但在 打开资源 Ctrl Alt R 中 不会出现该项目中的文件 除非我从窗口的选项 右上角下拉菜单 显示派生资源 中进行检查 我
  • Android openGL 示例显示空白屏幕

    我刚刚在 Galaxy s3 上尝试了来自developer android com 的原始 Open GL 示例代码 它给我的只是一个空白屏幕 我更改了透明颜色并且屏幕背景发生了变化 但我仍然看不到代码所示的任何三角形或正方形 为了验证
  • LINQ to SQL C# 中的 SELECT COUNT

    如何使用 COUNT 编写 LINQ to SQL Example var purch from purchase in myBlaContext purchases select purchase 我怎样才能在这里得到计数 像那样 var
  • noexcept、继承构造函数以及对实际完整的不完整类型的无效使用

    我不确定这是否是一个错误GCC编译器或预期的行为noexcept 考虑以下示例 struct B B int noexcept virtual void f 0 struct D public B using B B D noexcept
  • facet_grid 中的多行

    我有一个数据集 大致如下所示 names tibble NAME 2 c Location1 Location2 Location3 Location4 dates tibble date seq as Date 2015 01 01 as
  • 字体在 iPhone 上的位置?

    我正在 iPhone 项目中使用 FreeType2 库 并且如果可能的话 我尝试简单地从系统加载 TTF 文件 FT Library library FT Face face int error error FT Init FreeTyp
  • 省略 xstream 中的 xml 声明

    我想使用 xstream 将内容附加到 xml 但每次运行时都使用 xstream toXml obj writer 它会向内容添加 xml 声明 我们可以在 xstream 中省略 xml 声明吗 我刚刚遇到这个问题 使用 XStream
  • 如何在 Javascript 中将数组转换为对象数组[重复]

    这个问题在这里已经有答案了 我想转换一个数组 如 John Jane 放入对象对数组中 如下所示 name John name Jane 请帮助我这样做 尝试数组中的 map 函数 const output John Jane map na
  • 使用 Selenium 验证

    我需要验证网页上的特定插槽是否已加载 我正在使用 Selenium WebDrivermain 函数 我应该使用 JUnit 测试用例吗 在任意对象之间检索文本的方法有哪些 div 有具体的id吗 如果给定这一页 http ideone c
  • R:为文字云图形/png添加标题

    我有一些有效的 R 代码 可以从术语文档矩阵生成标签云 现在 我想从许多文档创建一大堆标签云 并在稍后进行可视化检查 要知道标签云图片属于哪个文档 语料库 我想为生成的图形添加标题 我怎么做 也许这是显而易见的 但我仍然是 R 图形的初学者
  • DNS 与 GKE 内部负载均衡器

    我在 GKE 上有两个 kubernetes 集群 一个公共集群处理与外界的交互 另一个私有集群仅供内部使用 公共集群需要访问私有集群上的一些服务 我已通过以下方式将这些服务暴露给公共集群的 Pod内部负载均衡器 https cloud g
  • 为后台线程配置 Autofac 容器

    我有一个 asp net MVC 站点 其中有许多使用 InstancePerHttpRequest 范围注册的组件 但是我还有一个 后台任务 它将每隔几个小时运行一次 但不会有 httpcontext 我想获得一个已像这样注册的 IRep
  • 我可以对隐私网址做什么? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在尝试将我的 Android 应用程序投放市场 而我最不需要的就是隐私 URL 问题是我没有网站
  • 对嵌套数组进行排序并返回弹性中的前 10 名

    我在弹性索引中有一个嵌套数据类型 并且希望对所有返回的结果进行升序排序 我已经尝试过以下方法 GET indexname search source m iTopicID m iYear m Companies query terms m
  • 在继续功能之前等待图像上传的响应

    因此 我正在研究数组中多个图像的上传功能 经过一番努力 我终于让我的上传功能正常工作 并且图像显示在 Firebase 数据库中 然而 我还没有找到一种工作方法来确保我的上传功能在继续之前完成 下面是我调用 upload 函数并尝试将响应存
  • 设置仅适用于一个会话/一名用户

    我创建了一个 WindowsForms 应用程序 然后在以下命令的帮助下进行了设置这个链接 https stackoverflow com questions 56541199 how to create setup exe file fo
  • SQLite 数据库不更新列表视图项并插入新项

    当项目为listview单击后 它会在另一个活动中打开 该活动具有edittext 编辑项目后 当我保存它时 项目不会在列表视图中更新 但会在列表视图中插入一个新条目 如何更新现有项目而不插入新项目 这是我的代码 活动 TRList cla