大海话语 2021-12-02 11:43 采纳率: 87.6%
浏览 43
已结题

AndroidStudio请求一个服务器的信息,返回时,数据没有解析到TextView里显示

AndroidStudio请求一个服务器的信息,数据都返回了,但是在显示时却没有在TextView里面显示。
我这里是用的Handler接收的,用解析或转换成一个对象,这样的方式 解析的
下面是Handler代码

private Handler handler = new Handler() {
        @Override
        public void handleMessage(@NonNull Message msg) {
            super.handleMessage(msg);
            if (msg.what == 0x02) {
                try {
                    JSONObject jsonObject = JSONObject.parseObject(msg.obj.toString());
                    //这里是要转换为一个对象,一个对象就是一个类,就是NewsResponseEntity
                    NewsResponseEntity entity = JSON.toJavaObject(jsonObject, NewsResponseEntity.class);
                    tv_news_show.append(entity.getContent() + "\n");
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            if (msg.what == 0x01) {
                tv_news_show.setText(msg.obj.toString());
            }
        }
    };

下面是调试的代码

img

之前在Handler里面用的是tv_news_show.append(entity.getClass() + "\n");方式不行,又改为这个,直接显示内容,还是不行
下面是异常错误信息

W/System.err: com.alibaba.fastjson.JSONException: can not cast to JSONObject.
W/System.err:     at com.alibaba.fastjson.JSON.parseObject(JSON.java:262)
        at com.hnsaturn.tuxing003.ui.tuyue.AcNewsMusic$1.handleMessage(AcNewsMusic.java:78)

  • 写回答

2条回答 默认 最新

  • hua-sky 2021-12-02 15:48
    关注

    NewsResponseEntity实体类改为:

    class NewsResponseEntity {
            int id;
            String title;
            String content;
            int type;
            String createTime;
            String updateTime;
        }
    
    

    解析显示代码改为:

    ArrayList<NewsResponseEntity> datas=   new Gson().fromJson(msg.obj.toString(),new TypeToken<ArrayList<NewsResponseEntity>>(){}.getType());
            tv_news_show.append(datas.get(0).getContent() + "\n");
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月10日
  • 已采纳回答 12月2日
  • 修改了问题 12月2日
  • 创建了问题 12月2日

悬赏问题

  • ¥50 永磁型步进电机PID算法
  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 latex怎么处理论文引理引用参考文献
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?