运行报错
运行报错,能够上网返回String字符串,但是转换出错:
java.lang.IllegalStateException: text must not be null
at com.example.fragments.index.IndexDataConverter.convert(IndexDataConverter.kt:47)
at com.example.mall_library.ui.recycler.MultipleRecyclerAdapter$Companion.create(MultipleRecyclerAdapter.kt:38)
at com.example.fragments.index.IndexFragment$initData$1.onSuccess(IndexFragment.kt:58)
at com.example.mall_library.net.callback.RequestCallbacks.onResponse(RequestCallbacks.kt:25)
具体对应的代码如下:
IndexDataConverter.kt
//构造entity
val entity=MultipleItemEntity.builder()
.setField(MultipleFields.ITEM_TYPE,type)
.setField(MultipleFields.SPAN_SIZE,spanSize)
.setField(MultipleFields.ID,id)
.setField(MultipleFields.TEXT,text)//IndexDataConverter.convert(IndexDataConverter.kt:47)
.setField(MultipleFields.IMAGE_URL,imageUrl)
.setField(MultipleFields.BANNERS,bannerImages)
.build()
mEntities.add(entity)//当前的entity放入集合里
MultipleRecyclerAdapter.kt
fun create(converter: DataConverter): MultipleRecyclerAdapter {
//参数:网络下载的数据转换成具体可呈现类型数据
return MultipleRecyclerAdapter(converter.convert())//MultipleRecyclerAdapter$Companion.create(MultipleRecyclerAdapter.kt:38)
}
IndexFragment.kt
override fun onSuccess(response: String) {
// 建立adapter,并传输具体可呈现数据类型参数
val adapter: MultipleRecyclerAdapter = MultipleRecyclerAdapter
//MultipleRecyclerAdapter伴生对象方法create创建本类实例,
// 需要参数data[MutableList<MultipleItemEntity>],即RecyclerView呈现的数据
// 从网络下载来的response转换成具体的data
.create(IndexDataConverter().setJsonData(response))//IndexFragment$initData$1.onSuccess(IndexFragment.kt:58)
// 绑定adapter
mRecyclerView.adapter=adapter
}
RequestCallbacks.kt
if (response.isSuccessful) {//网络访问请求成功
if (call.isExecuted) {//执行回调
if (success != null) {
if (response.body() != null) {
success.onSuccess(response.body()!!)//RequestCallbacks.onResponse(RequestCallbacks.kt:25)
}
}
}
}
正在回答 回答被采纳积分+1
IndexDataConverter.convert方法这里报错了,报错信息很详细啊
java.lang.IllegalStateException: text must not be null
你传递的参数为null,而该方法的输入是不允许为null的
- 参与学习 人
- 提交作业 116 份
- 解答问题 1012 个
本阶段是提升项目经验的必备,除Android开发的高级控件,还有Android官方大力推荐的开发语言Kotlin,未来Android发展的方向,最后使用Kotlin来开发热门电商项目。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星