您的位置:首页 > Web前端 > JavaScript

Json数据的解析展示到ListView中

2018-12-29 09:09 253 查看

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;

}
}
};

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: