本地json数据解析



private ListView mF1Lv;

Handler handler = new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);

        if (msg.what==1){
            List<Bean_sj.ListBean.ArticlesBean> articles = (List<Bean_sj.ListBean.ArticlesBean>) msg.obj;
            //Toast.makeText(getActivity(),articles.get(0).getTitle(),Toast.LENGTH_LONG).show();
            MyAdapter myAdapter = new MyAdapter(articles,getActivity());
            mF1Lv.setAdapter(myAdapter);
        }
    }
};

try {
    InputStream open = getActivity().getAssets().open("news.json");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();

    byte[] b = new byte[1024];
    int len = -1;
    while ((len = open.read(b))!=-1){
        outputStream.write(b,0,len);
    }
    String string = outputStream.toString();
    //Log.i("xxx",string+"-------------------");
    Gson gson = new Gson();
    Bean_sj bean_sj = gson.fromJson(string, Bean_sj.class);
    List<Bean_sj.ListBean.ArticlesBean> articles = bean_sj.getList().getArticles();
    Toast.makeText(getActivity(),string,Toast.LENGTH_LONG).show();

    Message message = new Message();
    message.what = 1;
    message.obj = articles;
    handler.sendMessage(message);



} catch (IOException e) {
    e.printStackTrace();
}

public class MyAdapter extends BaseAdapter{

    private List<Bean_sj.ListBean.ArticlesBean> articles;
    private Context context;

    public MyAdapter(List<Bean_sj.ListBean.ArticlesBean> articles, Context context) {
        this.articles = articles;
        this.context = context;
    }


    @Override
    public int getCount() {
        return articles.size();
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view1, ViewGroup viewGroup) {

        ViewHolder viewHolder =null;

        if (view1 == null){
            viewHolder = new ViewHolder();
            view1 = View.inflate(context, R.layout.item,null);
            viewHolder.item_tv1 = view1.findViewById(R.id.item_tv1);
            viewHolder.item_tv2 = view1.findViewById(R.id.item_tv2);
            view1.setTag(viewHolder);
        }else{
            viewHolder = (ViewHolder) view1.getTag();
        }

        viewHolder.item_tv1.setText(articles.get(i).getTitle());
        viewHolder.item_tv2.setText(articles.get(i).getDescription());


        return view1;
    }

    class ViewHolder{
        TextView item_tv1 ,item_tv2;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值