public interface IMainAciivity { void OnSuccess(List<Bean.DataBean> data); void OnFailde(String s); void OnMiaoSha(List<Bean.MiaoshaBean.ListBeanX> list); void OnTuiJian(List<Bean.TuijianBean.ListBean> lists);}
public interface IPresenter { void OnSuccess(List<Bean.DataBean> data); void OnFailde(String s); void OnMiaoSha( List<Bean.MiaoshaBean.ListBeanX> list ); void OnTuiJian( List<Bean.TuijianBean.ListBean> lists ); void getData(); void youhua(); void OnMiaoSha(); void OnTuiJian(); }public interface IModel { void getData(IPresenter iPresenter); void OnMiaoSha(IPresenter iPresenter); void OnTuiJian(IPresenter iPresenter); }private void initView() { mBottomBar = (BottomTabBar) findViewById(R.id.bottom_bar); mBottomBar.init(getSupportFragmentManager()) .setImgSize(50,50) .setFontSize(8) .setTabPadding(4,6,10) .setChangeColor(Color.RED,Color.DKGRAY) .addTabItem("首页",R.drawable.sy, Fragment1.class) .addTabItem("分类",R.drawable.fl, Fragment2.class) .addTabItem("购物车",R.drawable.gwc, Fragment3.class) .isShowDivider(false) .setOnTabChangeListener(new BottomTabBar.OnTabChangeListener() { @Override public void onTabChange(int position, String name) { } });public class Presenter implements IPresenter{ IMainAciivity iMainAciivity; Model model; public Presenter(IMainAciivity iMainAciivity) { this.iMainAciivity = iMainAciivity; this.model=new Model(); } @Override public void OnSuccess(List<Bean.DataBean> data) { if (iMainAciivity!=null){ iMainAciivity.OnSuccess(data); } } @Override public void OnFailde(String s) { if (iMainAciivity!=null){ iMainAciivity.OnFailde(s.toString()); } } @Override public void OnMiaoSha(List<Bean.MiaoshaBean.ListBeanX> list) { if (iMainAciivity!=null){ iMainAciivity.OnMiaoSha(list); } } @Override public void OnTuiJian(List<Bean.TuijianBean.ListBean> lists) { if (iMainAciivity!=null){ iMainAciivity.OnTuiJian(lists); } } @Override public void getData() { model.getData(this); } @Override public void youhua() { } @Override public void OnMiaoSha() { model.OnMiaoSha(this); } @Override public void OnTuiJian() { model.OnTuiJian(this); } }public class Model implements IModel{ private Handler handler=new Handler(); private String url="https://www.zhaoapi.cn/ad/getAd"; @Override public void getData(final IPresenter iPresenter) { OkHttpClient client = new OkHttpClient(); Request request=new Request.Builder() .get() .url(url) .build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { if (iPresenter!=null){ iPresenter.OnFailde(e.getMessage()); } } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()){ final String res = response.body().string(); handler.post(new Runnable() { @Override public void run() { Gson gson = new Gson(); Bean bean = gson.fromJson(res, Bean.class); List<Bean.DataBean> data = bean.getData(); iPresenter.OnSuccess(data); } }); } } }); } @Override public void OnMiaoSha(final IPresenter iPresenter) { OkHttpClient client = new OkHttpClient(); Request request=new Request.Builder() .get() .url(url) .build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { if (iPresenter!=null){ iPresenter.OnFailde(e.getMessage()); } } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()){ final String res = response.body().string(); handler.post(new Runnable() { @Override public void run() { Gson gson = new Gson(); Bean bean = gson.fromJson(res, Bean.class); Bean.MiaoshaBean miaosha = bean.getMiaosha(); List<Bean.MiaoshaBean.ListBeanX> list = miaosha.getList(); iPresenter.OnMiaoSha(list); } }); } } }); } @Override public void OnTuiJian(final IPresenter iPresenter) { OkHttpClient client = new OkHttpClient(); Request request=new Request.Builder() .get() .url(url) .build(); Call call = client.newCall(request); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { if (iPresenter!=null){ iPresenter.OnFailde(e.getMessage()); } } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()){ final String res = response.body().string(); handler.post(new Runnable() { @Override public void run() { Gson gson = new Gson(); Bean bean = gson.fromJson(res, Bean.class); Bean.TuijianBean tuijian = bean.getTuijian(); List<Bean.TuijianBean.ListBean> lists = tuijian.getList(); iPresenter.OnTuiJian(lists); } }); } } });public class Fragment1 extends Fragment implements IMainAciivity { private View view; private Banner mBanner; private RecyclerView mRecyView1; private RecyclerView mRecyView2; // private RecyclerView mRecyView3; private List<Bean.DataBean> data; private ArrayList<String> urls; private List<Bean.MiaoshaBean.ListBeanX> list; private List<Bean.TuijianBean.ListBean> lists; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment01, container, false); initView(view); initChen(); return view; } private void initChen() { Presenter presenter = new Presenter(this); presenter.getData(); presenter.OnMiaoSha(); presenter.OnTuiJian(); } @Override public void OnSuccess(List<Bean.DataBean> data) { this.data=data; for (int i=0;i<data.size();i++){ String icon = data.get(i).getIcon(); urls.add(icon); } //banner轮播 mBanner.setImages(urls); mBanner.setDelayTime(2000); mBanner.setImageLoader(new ImageLoader() { @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load(path).into(imageView); } }); mBanner.setIndicatorGravity(BannerConfig.CENTER); mBanner.start(); } @Override public void OnFailde(String s) { } @Override public void OnMiaoSha(List<Bean.MiaoshaBean.ListBeanX> list) { this.list=list; //创建适配器 MyAdapter1 myAdapter1 = new MyAdapter1(list,getActivity()); mRecyView1.setAdapter(myAdapter1); } @Override public void OnTuiJian( List<Bean.TuijianBean.ListBean> lists) { this.lists=lists; //创建适配器 MyAdapter2 myAdapter2 = new MyAdapter2(lists,getActivity()); mRecyView2.setAdapter(myAdapter2); } private void initView(View view) { mBanner = (Banner) view.findViewById(R.id.banner); mRecyView1 = (RecyclerView) view.findViewById(R.id.Recy_view1); mRecyView2 = (RecyclerView) view.findViewById(R.id.Recy_view2); urls = new ArrayList<>(); mRecyView1.setLayoutManager(new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false)); mRecyView2.setLayoutManager(new GridLayoutManager(getActivity(),2)); } }适配器public class MyAdapter1 extends RecyclerView.Adapter<MyAdapter1.MyViewHolder>{ private List<Bean.MiaoshaBean.ListBeanX> list; private Context context; public MyAdapter1(List<Bean.MiaoshaBean.ListBeanX> list, Context context) { this.list = list; this.context = context; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item, parent, false); MyViewHolder holder = new MyViewHolder(view); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { Glide.with(context).load(list.get(position).getImages()).into(holder.img); String images = list.get(position).getImages(); String []url=images.split("\\|"); //加载商品图片 Glide.with(context).load(url[0]).crossFade().into(holder.img); } @Override public int getItemCount() { return list.size(); } class MyViewHolder extends RecyclerView.ViewHolder{ private final ImageView img; public MyViewHolder(View itemView) { super(itemView); img = itemView.findViewById(R.id.img); } } }public class MyAdapter2 extends RecyclerView.Adapter<MyAdapter2.MyViewHolder>{ private List<Bean.TuijianBean.ListBean> lists; private Context context; public MyAdapter2(List<Bean.TuijianBean.ListBean> lists, Context context) { this.lists = lists; this.context = context; } @Override public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.items, parent, false); MyViewHolder holder = new MyViewHolder(view); return holder; } @Override public void onBindViewHolder(MyViewHolder holder, int position) { with(context).load(lists.get(position).getImages()).into(holder.imgs); String images = lists.get(position).getImages(); String []url=images.split("\\|"); //加载商品图片 Log.e("=====","--"+url[0]); Glide.with(context).load(url[0]).crossFade().into(holder.imgs); } @Override public int getItemCount() { return lists.size(); } class MyViewHolder extends RecyclerView.ViewHolder{ private final ImageView imgs; public MyViewHolder(View itemView) { super(itemView); imgs = itemView.findViewById(R.id.imgs); } } }布局<com.hjm.bottomtabbar.BottomTabBar android:id="@+id/bottom_bar" android:layout_width="match_parent" android:layout_height="match_parent"> </com.hjm.bottomtabbar.BottomTabBar>
京东
最新推荐文章于 2022-12-31 20:49:56 发布