Android Studio 3.2
kotlin_version 1.2.41
Я получаю список непостоянных переменных UnsupportedOperationException addAll.
Я передаю MutableList, поэтому не уверен, почему я получу это исключение времени выполнения.
Когда я печатаю именаклассы Я получаю следующие классы коллекции
I/System.out: class java.util.ArrayList
I/System.out: class java.util.Collections$EmptyList
Это метод mapper, который возвращает MutableList
override fun map(cursor: Cursor): MutableList<InsectDataModel> {
val insectDataModelList: MutableList<InsectDataModel> = mutableListOf()
cursor.moveToFirst()
while(cursor.moveToNext()) {
InsectDataModel().let {
it.friendlyName = cursor.getString(cursor.getColumnIndexOrThrow(InsectContract.COLUMN_FRIENDLY_NAME))
it.scientificName = cursor.getString(cursor.getColumnIndexOrThrow(InsectContract.COLUMN_SCIENTIFIC_NAME))
it.dangerLevel = cursor.getInt(cursor.getColumnIndexOrThrow(InsectContract.COLUMN_DANGER_LEVEL))
insectDataModelList.add(it)
}
}
cursor.close()
return insectDataModelList
}
Класс адаптера, который будет загружать список, используя addAll
class InsectAdapter(private var insectList: MutableList<InsectDataModel>): RecyclerView.Adapter<InsectAdapter.CustomInsectHolder>() {
fun loadInsects(insectList: MutableList<InsectDataModel>) {
println(insectList.javaClass)
println(this.insectList.javaClass)
this.insectList.addAll(insectList) /* Unsupported Exception here */
notifyDataSetChanged()
}
}
Вызов насекомого Адаптер
public void loadAllInsects(final Cursor cursor) {
insectInteractorMapper = new InsectInteractorMapperImp();
insectAdapter.loadInsects(insectInteractorMapper.map(cursor));
}