Fragment请求数据—+二维码

来源:互联网 发布:ug8.0车削加工编程 编辑:程序博客网 时间:2024/05/16 02:29


导入依赖,bean包,自己封装的utils包。


fragment_home的xml:::


<LinearLayout
        android:background="#FC4F02"
        android:layout_width="match_parent"
        android:layout_height="60dp">
        <ImageView
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/zxing"
            android:background="@mipmap/ic_normal_code"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="10dp"
            />

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/duanxin"
            android:layout_weight="1"
            android:layout_marginLeft="15dp"
            android:layout_marginTop="10dp"
            android:background="@mipmap/ic_normal2"
            />
    </LinearLayout>

<com.youth.banner.Banner
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        >
    </com.youth.banner.Banner>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >
    </android.support.v7.widget.RecyclerView>


MyAdapter::

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.VoewHoder> {


    private Context context;
    // private List<Bean_sy.DataBean.SubjectsBean.GoodsListBeanX> goodsList;
    private List<Bean_sy.DataBean.DefaultGoodsListBean> defaultGoodsList;
    private LayoutInflater inflater;


    public MyAdapter(Context context, List<Bean_sy.DataBean.DefaultGoodsListBean> defaultGoodsList) {
        this.context = context;
        this.defaultGoodsList = defaultGoodsList;
        inflater = LayoutInflater.from(this.context);
    }


    @Override
    public VoewHoder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view=inflater.inflate(R.layout.item,parent,false);
        VoewHoder holder=new VoewHoder(view);


        return holder;
    }


    @Override
    public void onBindViewHolder(VoewHoder holder, int position) {
        ImageLoderll.setimage(defaultGoodsList.get(position).getGoods_img(),context,holder.img);
        holder.tv1.setText(defaultGoodsList.get(position).getGoods_name());
        holder.tv2.setText(defaultGoodsList.get(position).getEfficacy());
    }




    @Override
    public int getItemCount() {
        return defaultGoodsList.size();
    }


    class VoewHoder extends RecyclerView.ViewHolder {
        ImageView img;
        TextView tv1;
        TextView tv2;


        public VoewHoder(View itemView) {
            super(itemView);
            img = (ImageView) itemView.findViewById(R.id.img);
            tv1 = (TextView) itemView.findViewById(R.id.tv1);
            tv2 = (TextView) itemView.findViewById(R.id.tv2);


        }
    }
}


Fragment_home;;;;

public class Fragment_home extends Fragment {
    
  
    @BindView(R.id.banner)
    Banner banner;
    @BindView(R.id.recycler)
    RecyclerView recycler;
    //接口
    private String url = "http://result.eolinker.com/umIPmfS6c83237d9c70c7c9510c9b0f97171a308d13b611?uri=homepage";
    //viewpage的地址
    private String[] url_bunner = new String[4];
    private List<Bean_sy.DataBean.SubjectsBean> subjects;
    private List<Bean_sy.DataBean.SubjectsBean.GoodsListBeanX> goodsList;
    private List<Bean_sy.DataBean.DefaultGoodsListBean> defaultGoodsList;
    //数据集合
    private List<Bean_sy.DataBean.Ad1Bean> ad1 = new ArrayList<>();


    Unbinder unbinder;


    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View inflate = View.inflate(getContext(), R.layout.fragment_home, null);


        unbinder = ButterKnife.bind(this, inflate);
        boolean netWorkAvailable = NetWorkUtils.isNetWorkAvailable(getContext());
        if (!netWorkAvailable) {
            Toast.makeText(getContext(), "联网:" + netWorkAvailable, Toast.LENGTH_SHORT).show();
        } else {
            OkHttp3Utils.getInstance().doGet(url, new GsonObjectCallback<Bean_sy>() {


                @Override
                public void onUi(Bean_sy bean) {


                    ad1 = bean.getData().getAd1();
                    Log.d("图片---------", ad1.get(0).getImage());
                    for (int i = 0; i < ad1.size(); i++) {
                        String str = ad1.get(i).getImage();
                        url_bunner[i] = str;
                    }
                    banner.setImages(url_bunner);
                    banner.setBannerStyle(Banner.CIRCLE_INDICATOR);
                    banner.setDelayTime(3000);
                    subjects = bean.getData().getSubjects();
                    defaultGoodsList = bean.getData().getDefaultGoodsList();
                    recycler.setLayoutManager(new LinearLayoutManager(getActivity()));
                    recycler.addItemDecoration(new DividerItemDecoration(getActivity(), LinearLayoutManager.VERTICAL));
                    recycler.setAdapter(new MyAdapter(getActivity(),defaultGoodsList));
                }


                @Override
                public void onFailed(Call call, IOException e) {


                }
            });
        }


        return inflate;
    }


    @Override
    public void onDestroyView() {
        super.onDestroyView();
        unbinder.unbind();
    }

    }
}


二维码

compile 'cn.yipianfengye.android:zxing-library:2.2'


@OnClick({R.id.zxing})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.zxing:
                Intent intent = new Intent(getContext(), CaptureActivity.class);
                startActivityForResult(intent, REQUEST_CODE);
                break;
        
        }
    }


@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        /**
         * 处理二维码扫描结果
         */
        if (requestCode == REQUEST_CODE) {
            //处理扫描结果(在界面上显示)
            if (null != data) {
                Bundle bundle = data.getExtras();
                if (bundle == null) {
                    return;
                }
                if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) {
                    String result = bundle.getString(CodeUtils.RESULT_STRING);
                    Toast.makeText(getContext(), "解析结果:" + result, Toast.LENGTH_LONG).show();
                } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
                    Toast.makeText(getContext(), "解析二维码失败", Toast.LENGTH_LONG).show();
                }
            }
        }
    }



原创粉丝点击