Модифицировать arraylist response.body () в фоновом потоке - PullRequest
0 голосов
/ 11 июля 2019

У меня изначально была настроена модернизация в деятельности со всеми вызовами, выполняемыми в главном потоке.Я пытаюсь перейти на архитектуру MVVM, имея модель View и репозиторий.Я также пытаюсь запустить вызовы дооснащения в фоновом потоке.Однако, когда я пытаюсь добавить response.body () в List внутри метода Runnable, я получаю сообщение об ошибке из ArrayList о том, что «невозможно определить аргументы, невозможно разрешить конструктор».

Пример кода ниже:

Класс API:

  @GET("readMoodLineGraphToday.php")
Call <List<MoodLogLineGraphTestResponse>> getMoodLogsLineGraphToday(@Query("userId") int userId);

Класс модели:

@SerializedName("moodBefore")
@Expose
private float moodBefore;

@SerializedName("posted")
@Expose
private String posted;

@SerializedName("day")
@Expose
private float day;

@SerializedName("cbtId")
@Expose
private int cbtID;


public MoodLogModel() {
}

public MoodLogModel(float moodBefore, String posted, float day, int cbtID) {
    this.moodBefore = moodBefore;
    this.posted = posted;
    this.day = day;
    this.cbtID = cbtID;
}

public float getMoodBefore() {
    return moodBefore;
}

public String getPosted() {
    return posted;
}

public float getDay() {
    return day;
}

public int getCbtID() {
    return cbtID;
}

Класс ответа:

@SerializedName("")
@Expose
private MoodLogModel data;

public MoodLogLineGraphTestResponse() {
}


public MoodLogLineGraphTestResponse(MoodLogModel data) {
    this.data = data;
}

public MoodLogModel getData() {
    return data;
}

Класс ApiClient:

 @Override
    public void run() {

        try {
            Response response = getMoodLogsLineGraphToday(userId).execute();
            if(cancelRequest){
                return;
            }
            if(response.code() == 200){
                ArrayList<MoodLogLineGraphTestResponse> list = new ArrayList<>((((MoodLogLineGraphTestResponse)response.body()).getData()));
                //mMoodLogs.postValue(list);
            }else{

            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

Эта строка: ArrayList list = new ArrayList <> ((((MoodLogLineGraphTestResponse) response.body ()). GetData ()));

Выдает ошибку внутри <> после = new ArrayList

"невозможно вывести аргументы, не удалось разрешить конструктор"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...