Fragment解析并展示

package com.bawei.day04.fragment;

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.bawei.day04.HttpUtil;
import com.bawei.day04.R;
import com.bawei.day04.adapter.MyAdapter;
import com.bawei.day04.bean.JsonBean;
import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

/**

  • @Author:Lenovo

  • @E-mail:

  • @Date:2019/2/15 19:33

  • @Description:描述信息
    */
    public class Frag01 extends Fragment {
    String strUrl=“http://gank.io/api/data/福利/10/1”;
    private ListView listView;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    //第一步 :权限
    //第二部:找空间
    View view=inflater.inflate(R.layout.frag01,container,false);
    listView = view.findViewById(R.id.list_view);
    return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
    super.onActivityCreated(savedInstanceState);
    //第三部:数据( 网络请求数据 使用handler+子线程)
    new Thread(){
    @Override
    public void run() {
    super.run();
    //第四部:判断网络
    Boolean isNet= HttpUtil.isNet(getActivity());
    String s="";
    if (isNet){
    //第五步:如果有网络就加载网络数据
    s=HttpUtil.requestString(strUrl);
    //得到数据后发送给handler进行解析
    }else{
    //如果没网就就加载数据库
    }
    //第六步 把数据发送给主线程
    Message message=new Message();
    message.what=0;
    message.obj=s;
    handler.sendMessage(message);
    }
    }.start();
    //适配器
    }
    Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
    super.handleMessage(msg);
    switch (msg.what){
    case 0:
    //第七步:得到数据并解析
    String s= (String) msg.obj;
    //解析
    Gson gson=new Gson();
    JsonBean jsonBean=gson.fromJson(s,JsonBean.class);
    List<JsonBean.ResultsBean> list = jsonBean.getResults();
    //第八步:展示数据到listview上
    listView.setAdapter(new MyAdapter((ArrayList<JsonBean.ResultsBean>) list,getActivity()));
    break;
    }
    }
    };
    }

猜你喜欢

转载自blog.csdn.net/weixin_44668084/article/details/87704875