常见问题一
关于解析数据的问题遇到这种的json数据该如何解析
null( { } )
解决方案:
result是返回的数据,通过返回的result.replace进行替换就可以正常解析
String replace = result.replace("null(", "").replace(")", "");
常见问题二
有的时候我们在请求接口的时候会发现,图片的地址必须要进行分割才能显示出来,这时候我们应该怎麽解决
//得到图片的地址 String images = list.get (position).getImages (); //用images.split进行分割 String[] split = images.split ("\\|"); //使用 holder1.shopimage.setImageURI (Uri.parse (split[0]));
常见问题三
recycleView进行点击条目跳转
因为recycleview本身是没有点击事件,所以我们要用接口回掉的方式进行操作
适配器里写接口
//实现接口 private OnItemClickListener onItemClickListener; //创建接口 public interface OnItemClickListener{ void onItemClickListener(int layoutPosition); } //外界调用的方法 public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; }在
onBindViewHolder里面
//得到布局条目的position final int layoutPosition = holder.getLayoutPosition (); //必须在itemView的点击事件里面判断 holder.itemView.setOnClickListener (new View.OnClickListener () { @Override public void onClick(View v) { if(onItemClickListener!=null){ onItemClickListener.onItemClickListener (layoutPosition); } } });
在mainActivity中调用
//适配器调用点击事件的方法 shopAdaper.setOnItemClickListener (new ShopAdaper.OnItemClickListener () { @Override public void onItemClickListener(int layoutPosition) { //点击条目的时候要根据点击的下标跳转到相应的页面,所以需要拿到解析完的集合list.get(传过来的下标).地址 String detailUrl = list.get (layoutPosition).getDetailUrl (); Intent intent=new Intent (getActivity (), ProductDetailsActivity.class); intent.putExtra ("datas",detailUrl); startActivity (intent); } });