繁体   English   中英

无法更新我的列表视图的数据

[英]Can't update data for my list view

我目前正在尝试向我的应用程序添加功能,以便允许我的用户编辑用于填充我的Payments类中的列表视图项目的数据。

每当我输入要进行的更改并按“接受”时,列表视图就不会使用新编辑的数据进行更新。

以下是我的“添加付款”类的数据。

    public void acceptClicked(View view)
    {
        failFlag = false;
        checkEditTexts();
        // if all are fine
        if (failFlag == false)
        {
            MOSDatabase db = new MOSDatabase(this);
            SQLiteDatabase datab = db.getWritableDatabase();
            convertToString();
            convertIntToString();

            sPaymentDate = sPaymentYear + sPaymentMonth + sPaymentDay;

            ContentValues vals = new ContentValues();
            vals.put("PTITLE", sTitle);
            vals.put("PDAY", sPaymentDay);
            vals.put("PMONTH", sPaymentMonth);
            vals.put("PYEAR", sPaymentYear);
            vals.put("PA", sAmount);
            vals.put("RMIN", sReminderMin);
            vals.put("RHOUR", sReminderHour);
            vals.put("RDAY", sReminderDay);
            vals.put("RMONTH", sReminderMonth);
            vals.put("RYEAR", sReminderYear);
            vals.put("DATE", sPaymentDate);

            if (checkbox.isChecked())
            {
                createAlarm();
            }

            if(itemInfo == false)
            {

                datab.insert("PaymentTable", null, vals);
                datab.close();
            }

            if(itemInfo == true)
            {
                datab.update("PaymentTable", vals, "PTITLE", null);
            }

            Intent openReminder = new Intent("com.studentbudget.PAYMENTS");
            startActivity(openReminder);
            finish();
        }
    }

如果我要添加新的付款,则convertIntToString方法会将hinterDay / Month / Year等转换为字符串版本(sReminderDay / Month / Year等),否则它将使用iPaymentDay,iPaymentMonth,iPaymentYear等。

我最初尝试过几次,但是我在datab.update方法中的最后一个参数上使用了String [] {“ ITITLE},但它没有用。

编辑(27/8/13)

我尝试了bakriOnFire发布的代码,它更新了除项目标题以外的所有内容。

我也尝试将第三个参数更改为“ null”。 这使我可以编辑标题,但是它可以编辑列表视图中的所有项目。

有人可以告诉我如何为列表视图更新项目的所有字段吗? 感谢您发布任何解决方案。

编辑(28/8/13)

编辑标题。 第一列是唯一不更新的列。

编辑(28/8/13)

添加了屏幕截图

付款活动中的列表视图

添加付款活动

第一个图像显示Payments活动上的列表视图,第二个图像显示Add Payments活动。

update的第三个参数是为更新提供的过滤器,您已将其赋予值PTITLE 它不匹配任何东西,因为它是列名。 您正在尝试更新PTITLE等于sTitle的行,因此更新应为-

datab.update("PaymentTable", vals, "PTITLE='"+sTitle+"'", null);

我不确定这是否是您要执行的操作,但希望它可以给您一些提示。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM