GroupModel не может быть приведена к другой модели - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь перетащить данные из веб-сервиса на связанные счетчики, нет данных на два счетчика одновременно.И этот раздел кода выдает ошибку:

spinnerFleet.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            FleetModel selectedItem = (FleetModel) adapterView.getSelectedItem(); /*I think there was an error in this part of the code */
            int vgID = displayIdData(selectedItem);
            String jsonString = "{\"params1\":\"" + session_id + "\"," +
                    "\"params2\":\"5\"," +
                    "\"params3\":\"0\"," +
                    "\"params4\":\"0\"," +
                    "\"params5\":\"0\"," +
                    "\"params6\":\""+vgID+"\"," +
                    "\"params7\":\"0\"," +
                    "\"params8\":\"" + user_id + "\"}";
            new LoadSpinnerGroupTask().execute(jsonString);
        }

1 Ответ

0 голосов
/ 22 января 2019

Очевидно, adapterView.getSelectedItem() возвращает GroupModel, а не FleetModel. Поэтому, если FleetModel не расширяет GroupModel, он выдаст ошибку приведения.

Какой тип данных в элементах вашего адаптера? Измените его на FleetModel или просто напишите GroupModel selectedItem = (GroupModel) adapterView.getSelectedItem();

Попробуйте это так:

spinnerFleet.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {
            FleetModel selectedItem = stateAdapter.getItem(i); /*I think there was an error in this part of the code */
            int vgID = displayIdData(selectedItem);
            String jsonString = "{\"params1\":\"" + session_id + "\"," +
                    "\"params2\":\"5\"," +
                    "\"params3\":\"0\"," +
                    "\"params4\":\"0\"," +
                    "\"params5\":\"0\"," +
                    "\"params6\":\""+vgID+"\"," +
                    "\"params7\":\"0\"," +
                    "\"params8\":\"" + user_id + "\"}";
            new LoadSpinnerGroupTask().execute(jsonString);
        }
...