1

現在、Payments クラスに含まれているリスト ビューのアイテムを設定するために使用されるデータをユーザーが編集できるように、アプリに機能を追加しようとしています。

変更内容を入力して [承認] を押しても、リスト ビューが新しく編集されたデータで更新されません。

以下は、Add 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 メソッドは、新しい支払いを追加する場合、reminderDay/Month/Year などを文字列バージョン (sReminderDay/Month/Year etC) に変換します。それ以外の場合は、iPaymentDay、iPaymentMonth、iPaymentYear などを使用します。

これを数回試しましたが、元々は datab.update メソッドの最後のパラメーターに String[]{"ITITLE} を使用していましたが、機能していませんでした。

編集 (27/8/13)

bakriOnFire によって投稿されたコードを試してみました。アイテムのタイトル以外はすべて更新されます。

また、3 番目のパラメーターを「null」に変更しようとしました。これにより、リストビューのすべてのアイテムを編集しても、タイトルを編集できました。

リスト ビューの項目のすべてのフィールドを更新する方法を誰か教えてもらえますか? 投稿されたソリューションに感謝します。

編集 (28/8/13)

タイトルを編集しました。更新されない唯一の列は最初の列です。

編集 (28/8/13)

スクリーンショットを追加

Payments アクティビティのリスト ビュー

支払いアクティビティを追加

最初の画像は Payments アクティビティのリスト ビューを示し、2 番目の画像は Add Payments アクティビティを示しています。

4

1 に答える 1