运行报错

运行报错

运行报错,能够上网返回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

登陆购买课程后可参与讨论,去登陆

1回答
LovelyChubby 2021-08-31 13:55:04

IndexDataConverter.convert方法这里报错了,报错信息很详细啊


java.lang.IllegalStateException: text must not be null


你传递的参数为null,而该方法的输入是不允许为null的

  • 提问者 慕运维0750787 #1

    奇怪的是为什么会null?报错信息会看,只是怎么可能是null,网络有数据下载成功的String,已经传递过来的,不可能会null

    2021-09-01 11:04:16
  • LovelyChubby 回复 提问者 慕运维0750787 #2

    断点跟进看下就真相了哈

    2021-09-03 00:19:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师