Ошибка Spinner "Количество типов представления адаптера Spinner должно быть 1"

Я использую Parse.com в своем приложении, когда я использую ParseQueryAdapter во фрагменте, чтобы извлечь данные и передать счетчику ошибку как

java.lang.IllegalArgumentException: Spinner adapter view type count must be 1

и приложение останавливается. Однако, если я попробую ArrayAdapter, это сработает. В чем может быть проблема?

ParseQueryAdapter Code:

ParseQueryAdapter.QueryFactory<ParseObject> spnQuery=
            new ParseQueryAdapter.QueryFactory<ParseObject>() {
                public ParseQuery create() {
                    ParseQuery query = new ParseQuery(tableName);
                    return query;
                }
            };
    ParseQueryAdapter<ParseObject> adapter = new ParseQueryAdapter<ParseObject>(getActivity().getApplicationContext(), spnQuery);
    adapter.setTextKey(columnName);
    spnLecture.setAdapter(adapter);

2 ответа

Решение

ParseQueryAdapter может использовать SpinnerAdapter внизу.

Одним из способов решения этой проблемы является снижение целевой targetSdkVersion. Эта ошибка сообщается для targetSdkVersion из 21.

Пожалуйста, смотрите здесь: https://code.google.com/p/android/issues/detail?id=79011

Долгосрочное решение заключается в исправлении реализации адаптера, что невозможно в вашем случае, пока команда Parse не решит это исправить.

У меня была та же проблема с SpinnerAdapter, и он работал без повреждения периферии, используя targetSdkVersion 19. Надеюсь, это поможет!

Я решил ту же проблему только сейчас, и у вас есть два возможных решения:

а. Вниз targetSdkVersion до 19

б. (Мой предпочтительный) Расширьте свой parseadapter и @override getViewTypeCount с этим кодом:

@Override
public int getViewTypeCount() {
     return 1;
}

Это работает для меня:)

Другие вопросы по тегам