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();
}
}
}
}
- Fragment请求数据—+二维码
- Fragment中数据重复请求
- Fragment+ViewPager网络请求数据问题
- Get方式请求网络数据+Fragment+SharedPreferences
- Fragment加网络请求数据HttpClient
- Fragment 网络数据请求最好放在setUserVisibleHint中
- Design TabLayout+ViewPager+Fragment,实现选中请求数据+缓存
- Design TabLayout+ViewPager+Fragment,选中请求数据+缓存
- HttpUtils请求数据(返回上一层fragment)
- fragment里网络请求,返回数据的处理!大家帮帮忙
- 请求数据—HttpClient
- 请求数据—HttpUrlConnection
- fragment网络请求getActivity()
- Fragment 请求网路
- TabLayout + Fragment + 网络请求
- 二维码zxing请求jsp页面
- viewPaper+Fragment的布局,在初始化时会导致fragment的布局加载和网络请求数据(懒加载)
- Fragment延迟加载数据,当页面可见时再发送请求
- spring boot 源码
- JQ实现弹幕
- repo使用手册
- Word2013中如何合并多个文档将多篇内容放进一篇文档里
- TASKCTL中不使用代理,通过ssh免密连接执行远程脚本配置(SSH插件扩展)
- Fragment请求数据—+二维码
- 渲染管线-顶点变换
- C#通过app.manifest使程序以管理员身份运行
- Effective C++ 12. Copy all parts of an object
- python的语句
- 技术学到多厉害,才能顺利进入BAT?
- js获取客户端计算机硬件信息与系统信息
- 【实战篇】Activiti流程资源文件上传部署
- xmldom解析