解析用

activity层

public class Show extends AppCompatActivity implements ZxingPresenter.Zxing, GetPresenter.LoadData {
    ZxingPresenter zxingPresenter;
    GridView gridview,listview;

    GetPresenter getPresenter;
    Madapter madapter;
    GridAdapter mGridAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_show);

         zxingPresenter = new ZxingPresenter(this);

         //获取控件
        listview = findViewById(R.id.listview);
        gridview = findViewById(R.id.gridview);

        //适配器
        madapter= new Madapter(Show.this);
        listview.setAdapter(madapter);

        //适配器
        mGridAdapter = new GridAdapter(Show.this);
        gridview.setAdapter(mGridAdapter);

        getPresenter = new GetPresenter(this);

        //请求数据
        getPresenter.getdata();
        getPresenter.getgriddata();

    }

    //二维码扫描
    public void zxing(View view) {
        Intent intent = new Intent(Show.this, CaptureActivity.class);
        startActivityForResult(intent,5);
    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
       //接口回调
        zxingPresenter.Sao(requestCode,resultCode,data);

    }

    @Override
    public void zsuccess() {
        Toast.makeText(this,"解析成功",Toast.LENGTH_SHORT).show();
    }

    @Override
    public void zfailed() {
        Toast.makeText(this,"解析失败",Toast.LENGTH_SHORT).show();
    }

    //数据请求成功
    @Override
    public void success(List<Goods.DataBean> dataBeans) {
        madapter.setData(dataBeans);
        madapter.addData(dataBeans);
    }

    @Override
    public void hhh(List<Stu.DataBean> dataBeans) {
        mGridAdapter.setData(dataBeans);

    }
}

解析数据的接口

public class GetPresenter {
    //定义接口
    public interface LoadData{
        void success(List<Goods.DataBean> dataBeans);
        void hhh(List<Stu.DataBean> dataBeans);

    }

    public LoadData mLoadData;

    public GetPresenter(LoadData loadData) {
        mLoadData = loadData;
    }

    public void getdata(){
        final String path = "http://www.wanandroid.com/tools/mockapi/6523/restaurants_offset_0_limit_4";
        new AsyncTask<String,Void,List<Goods.DataBean>>(){

            @Override
            protected List<Goods.DataBean> doInBackground(String... strings) {
                String string = HttpUriUtils.requestData(path);
                Goods goods = new Gson().fromJson(string, Goods.class);
                return goods==null?null:goods.getData();
            }

            @Override
            protected void onPostExecute(List<Goods.DataBean> dataBeans) {
                 mLoadData.success(dataBeans);
            }
        }.execute(path);
    }

    public void getgriddata(){
        final String url = "http://www.zhaoapi.cn/product/getCatagory";
        new AsyncTask<String,Void,List<Stu.DataBean>>(){

            @Override
            protected List<Stu.DataBean> doInBackground(String... strings) {
                String string = HttpUriUtils.requestData(url);
                Stu stu = new Gson().fromJson(string, Stu.class);

                return stu==null?null:stu.getData();
            }

            @Override
            protected void onPostExecute(List<Stu.DataBean> dataBeans) {
              mLoadData.hhh(dataBeans);
            }
        }.execute(url);
    }
}

适配器器

public class Madapter extends BaseAdapter {
    private final Show show;
    private final List<Goods.DataBean> list;

    public Madapter(Show show) {
        this.show = show;
        list = new ArrayList<>();
    }

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

    @Override
    public Object getItem(int position) {
        return list.get(position);
    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder vh;
        if (convertView==null){
            vh = new ViewHolder();
            convertView = View.inflate(show, R.layout.list_item,null);
            vh.title = convertView.findViewById(R.id.title);
            vh.image = convertView.findViewById(R.id.image);
            convertView.setTag(vh);
        }else {
            vh = (ViewHolder) convertView.getTag();
        }
        vh.title.setText(list.get(position).getBulletin());
        ImageLoader.getInstance().displayImage(list.get(position).getPic_url(),
                vh.image,ImageLoaderConfins.getimageoption(show));
        return convertView;
    }

    public void setData(List<Goods.DataBean> dataBeans) {
        this.list.clear();
        this.list.addAll(dataBeans);
        notifyDataSetChanged();
    }

    public void addData(List<Goods.DataBean> dataBeans) {
        this.list.addAll(dataBeans);
        notifyDataSetChanged();
    }

    class ViewHolder{
        TextView title;
        ImageView image;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值