Ошибка 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;
}
Это работает для меня:)