我有一个适配器类有一个复选框,当选中该复选框它插入一个JSONObject键和值来分析。在我的应用程序内部,它仅将一个键和值作为JSONObject保存到Parse,并且我希望我的应用程序在选择其他复选框时将多个键和值保存到Parse。

当我选择其他Checkbox时,它将更改单个键和值,而不是将另一组添加到JSONObject

Photo of the row inside Parse including the JSONObject

相反,我想有内部解析的JSONObject当选择使用不同的 key 和值的其他复选框来保存数据是这样的。

{"2c1":true, "2c2":true, "2c3":true, "2c4":true, "2c5":true, "2c6":true}

而不是独自一人
{"2c1":true}

这是我的Adapter类中的代码

ChecklistAdapter.java
   final JSONObject myObject = new JSONObject();
    try {
        myObject.put(dataRecord.getID(), true);
    } catch (JSONException e) {
        e.printStackTrace();
    }

    checkBox.setOnClickListener(new View.OnClickListener() {

        String idSelected = dataRecord.getID();

        public void onClick(View v) {


            if (((CheckBox) v).isChecked()) {

                ParseUser.getCurrentUser().put("checklistData", myObject);
                ParseUser.getCurrentUser().saveInBackground();

                Toast.makeText(getContext(), idSelected,
                        Toast.LENGTH_SHORT).show();

            } else {

                Toast.makeText(getContext(), "CheckBox is unchecked",
                        Toast.LENGTH_SHORT).show();

            }
        }
    });

提供的功能代码仅保存在键和值对上。

编辑:如果您对Toast感到好奇,请单击此处的复选框。

java - 几个JSONObject键和值不会保存到Parse-LMLPHP

最佳答案

final JSONObject myObject = new JSONObject();

checkBox.setOnClickListener(new View.OnClickListener() {

    String idSelected = dataRecord.getID();

    public void onClick(View v) {


        if (((CheckBox) v).isChecked()) {

        try {
              myObject.put(dataRecord.getID(), true);
        } catch (JSONException e) {
              e.printStackTrace();
        }


            ParseUser parseUser= ParseUser.getCurrentUser();
            parseUser.put("checklistData", myObject);
            parseUser.saveInBackground();

            Toast.makeText(getContext(), idSelected,
                    Toast.LENGTH_SHORT).show();

        } else {

            Toast.makeText(getContext(), "CheckBox is unchecked",
                    Toast.LENGTH_SHORT).show();

        }
    }
});

09-11 20:15