簡體   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