У меня есть класс адаптера с флажком, и когда этот флажок установлен, он нажимает на JSONObject ключ и значение в Parse. Внутри моего приложения он сохраняет только один ключ и значение для Parse как JSONObject, и я хочу, чтобы мое приложение сохраняло несколько ключей и значений в Parse при выборе других флажков.Несколько ключей и значений JSONObject не сохраняются в Parse
При выборе другого Checkbox он изменяет один ключ и значение, а затем добавить еще один набор в JSONObject
Photo of the row inside Parse including the JSONObject
Вместо этого я хотел бы иметь JSONObject внутри Parse, чтобы сохранить данные, как это когда выбраны другие флажки с разными ключами и значениями.
{"2c1":true, "2c2":true, "2c3":true, "2c4":true, "2c5":true, "2c6":true}
вместо того, чтобы просто иметь это в одиночку
{"2c1":true}
Вот код внутри моего класса адаптера
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, когда вы нажимаете флажок здесь.
Внутри setOnclickListener, вы добавили MyObject и MyObject, кажется, не будет изменен, ожидать в первый раз, который добавляет только одно значение. –
@TheNeoNoirDeveloper Как добавить существующий JSONObject из Parse в 'myObject'? – pxtvr
if (((CheckBox) v) .isChecked()) { myObject.put (dataRecord.getID(), true); ParseUser.getCurrentUser(). Put ("checklistData", myObject);} –