Невозможно преобразовать объект в Json, поскольку несколько полей JSON с именем `mChangingConfigurations` - PullRequest
0 голосов
/ 28 апреля 2018

Я использую SharedPreferences, чтобы сохранить ArrayList моих Plant объектов в памяти, но когда я вызываю

public static void savePlants(){
    String json = gson.toJson(myPlantList);
    edit.putString("plants", json);
    edit.apply();
}

Я получаю эту ошибку java.lang.IllegalArgumentException: class android.content.res.ColorStateList declares multiple JSON fields named mChangingConfigurations в этой строке

String json = gson.toJson(myPlantList);

Вот соответствующий код из моего Plant Класса

public class Plant {
    private String name;
    private String date;
    private Drawable image;
    private String waterFrequency;
    private Gson gson;

    public Plant(String n, Drawable i, String wF){
        this.name = n;
        gson = new Gson();
        Date time = Calendar.getInstance().getTime();
        this.date = gson.toJson(time);
        this.image = i;
        this.waterFrequency = wF;
    }
}

наконец, вот код, который обрабатывает нажатие button и добавление растения к ArrayList<Plant>

public void onClick(View v){
    switch(v.getId()){
        case R.id.savePlant:{
            Log.d("SavePlant", "clicked");
            MyApplication.myPlantList.add(new Plant(newPlantName.getText().toString(), plantCam.getDrawable(), newPlantWF.getText().toString()));
            MyApplication.savePlants();
            finish();
            Log.d("SavePlant", "finished saving plant" + MyApplication.myPlantList.toString());
            break;
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...