Json数据的解析展示到ListView中

这篇博客展示了如何在Android应用中,通过Gson库解析Json数据,并将解析后的数据填充到ListView中,实现数据的展示。首先引入Gson和Http工具类,然后在Fragment中处理数据获取与ListView的适配器设置。

package com.qy.week01.frag;

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;

import com.google.gson.Gson;
import com.qy.week01.JsonListBean;
import com.qy.week01.MyAdapter;
import com.qy.week01.R;
import com.qy.week01.http.HttpUtile;

import java.util.List;

public class FragListview extends Fragment {

private ListView listView;

@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    View view = inflater.inflate(R.layout.fraglistview, container, false);
    listView = view.findViewById(R.id.listview);
    //解析网络数据
    new Thread() {
        @Override
        public void run() {
            super.run();
            //请求数据
            String s = HttpUtile.requestHttpGet("https://api.apiopen.top/musicRankings");
            //解析
            Gson gson = new Gson();
            JsonListBean listBean = gson.fromJson(s, JsonListBean.class);
            List<JsonListBean.ResultBean> list = listBean.getResult();
            //子线程处理数据完毕
            //更新ui
            Message message = new Message();
            message.what = 0;
            message.obj = list;
            handler.sendMessage(message);
        }
    }.start();


    return view;
}

Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        switch (msg.what) {
            case 0:
                List<JsonListBean.ResultBean> list = (List<JsonListBean.ResultBean>) msg.obj;
                //展示到listview上
                listView.setAdapter(new MyAdapter(list,getActivity()));
                break;

        }
    }
};

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值