Json数据的解析展示到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;

        }
    }
};

}

猜你喜欢

转载自blog.csdn.net/weixin_44259908/article/details/85333891