package bw.com.ljm.week3.mvp.view.fragment;
import android.content.Context;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.youth.banner.Banner;
import com.youth.banner.loader.ImageLoader;
import java.util.List;
import bw.com.ljm.week3.R;
import bw.com.ljm.week3.bean.BannerBean;
import bw.com.ljm.week3.bean.ShopBean;
import bw.com.ljm.week3.mvp.model.shou.ShouListModelIml;
import bw.com.ljm.week3.mvp.presenter.shou.ShouListPresenterIml;
import bw.com.ljm.week3.mvp.view.adapter.MlssAdapter;
import bw.com.ljm.week3.mvp.view.adapter.PzshAdapter;
import bw.com.ljm.week3.mvp.view.adapter.RxxpAdapter;
import bw.com.ljm.week3.mvp.view.interfaces.ShouListView;
/**
* @Auther: 李吉梅
* @Date: 2019/3/22 22:06:52
* @Description:
*/
public class FragmentTwo extends Fragment implements ShouListView{
private Banner banner;
private ShouListPresenterIml shouListPresenterIml;
private List<BannerBean.ResultBean> result;
private MlssAdapter mlssAdapter;
private PzshAdapter pzshAdapter;
private RxxpAdapter rxxpAdapter;
private RecyclerView recycler_rxxp, recycler_mlss, recycler_pzsh;
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment02, container, false);
//輪播圖的id
banner = view.findViewById(R.id.banner);
recycler_rxxp= view.findViewById(R.id.recycler_rxxps);
recycler_pzsh = view.findViewById(R.id.recycler_pzshs);
recycler_mlss = view.findViewById(R.id.recycler_mlsss);
rxxpAdapter = new RxxpAdapter(getActivity());
mlssAdapter = new MlssAdapter(getActivity());
pzshAdapter = new PzshAdapter(getActivity());
//佈局管理器
GridLayoutManager manager_rxxp = new GridLayoutManager(getActivity(), 3);
//LinearLayoutManager manager_rxxp = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
LinearLayoutManager manager_mlss = new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
GridLayoutManager manager_pzsh = new GridLayoutManager(getActivity(), 2);
recycler_rxxp.setLayoutManager(manager_rxxp);
recycler_mlss.setLayoutManager(manager_mlss);
recycler_pzsh.setLayoutManager(manager_pzsh);
recycler_rxxp.setAdapter(rxxpAdapter);
recycler_mlss.setAdapter(mlssAdapter);
recycler_pzsh.setAdapter(pzshAdapter);
//關聯p層
shouListPresenterIml = new ShouListPresenterIml(this, new ShouListModelIml());
shouListPresenterIml.doShop(0);
shouListPresenterIml.doShopView(1);
return view;
}
@Override
public void success(int type,String data) {
if(type==0){
//輪播方法
initBanner(data);
}else{
ShopBean shopBean = new Gson().fromJson(data, ShopBean.class);
List<ShopBean.ResultBean.RxxpBean.CommodityListBean> rxxpList = shopBean.getResult().getRxxp().getCommodityList();
List<ShopBean.ResultBean.MlssBean.CommodityListBeanXX> mlssList = shopBean.getResult().getMlss().getCommodityList();
List<ShopBean.ResultBean.PzshBean.CommodityListBeanX> pzshList = shopBean.getResult().getPzsh().getCommodityList();
rxxpAdapter.setData(rxxpList);
mlssAdapter.setData(mlssList);
pzshAdapter.setData(pzshList);
}
}
@Override
public void fail(String err) {
}
//輪播
private void initBanner(String data) {
//輪播
final BannerBean bannerBean = new Gson().fromJson(data, BannerBean.class);
result = bannerBean.getResult();
banner.setImages(result);
banner.setImageLoader(new ImageLoader() {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Log.i("setImageLoader",((BannerBean.ResultBean)path).getImageUrl());
Glide.with(FragmentTwo.this).load(((BannerBean.ResultBean)path).getImageUrl()).into(imageView);
}
});
banner.isAutoPlay(true);
banner.setDelayTime(1000);
banner.start();
}
}
package bw.com.ljm.week3.mvp.view.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import java.util.List;
import bw.com.ljm.week3.R;
import bw.com.ljm.week3.bean.ShopBean;
public class MlssAdapter extends RecyclerView.Adapter<MlssAdapter.MyViewHolder> {
private Context context;
private ArrayList<ShopBean.ResultBean.MlssBean.CommodityListBeanXX> commodityListBeanXXES = new ArrayList<>();
public MlssAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View inflate = LayoutInflater.from(context).inflate(R.layout.item_mlss, viewGroup, false);
MyViewHolder myViewHolder = new MyViewHolder(inflate);
return myViewHolder;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
if (commodityListBeanXXES.get(i) != null) {
myViewHolder.t10.setText(commodityListBeanXXES.get(i).getCommodityName());
myViewHolder.t11.setText("¥" + commodityListBeanXXES.get(i).getPrice());
Glide.with(context).load(commodityListBeanXXES.get(i).getMasterPic()).into(myViewHolder.m10);
}
}
@Override
public int getItemCount() {
return commodityListBeanXXES.size();
}
public void setData(List<ShopBean.ResultBean.MlssBean.CommodityListBeanXX> mlssList) {
if (mlssList != null) {
Log.e("myMessage", "" + mlssList);
commodityListBeanXXES.addAll(mlssList);
notifyDataSetChanged();
}
}
public class MyViewHolder extends RecyclerView.ViewHolder {
ImageView m10;
TextView t10, t11;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
m10 = itemView.findViewById(R.id.m10);
t10 = itemView.findViewById(R.id.t10);
t11 = itemView.findViewById(R.id.t11);
}
}
}
package bw.com.ljm.week3.mvp.view.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import java.util.List;
import bw.com.ljm.week3.R;
import bw.com.ljm.week3.bean.ShopBean;
public class PzshAdapter extends RecyclerView.Adapter<PzshAdapter.MyViewHolder> {
private Context context;
private ArrayList<ShopBean.ResultBean.PzshBean.CommodityListBeanX> commodityListBeanXES = new ArrayList<>();
public PzshAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View inflate = LayoutInflater.from(context).inflate(R.layout.item_pzsh, null);
MyViewHolder myViewHolder = new MyViewHolder(inflate);
return myViewHolder;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
if (commodityListBeanXES.get(i) != null) {
myViewHolder.t20.setText(commodityListBeanXES.get(i).getCommodityName());
myViewHolder.t21.setText("¥" + commodityListBeanXES.get(i).getPrice());
Glide.with(context).load(commodityListBeanXES.get(i).getMasterPic()).into(myViewHolder.m20);
}
}
@Override
public int getItemCount() {
return commodityListBeanXES.size();
}
public void setData(List<ShopBean.ResultBean.PzshBean.CommodityListBeanX> pzshList) {
if (pzshList != null) {
commodityListBeanXES.addAll(pzshList);
notifyDataSetChanged();
}
}
public class MyViewHolder extends RecyclerView.ViewHolder {
ImageView m20;
TextView t20, t21;
View view;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
this.view = itemView;
m20 = itemView.findViewById(R.id.m20);
t20 = itemView.findViewById(R.id.t20);
t21 = itemView.findViewById(R.id.t21);
}
}
}
package bw.com.ljm.week3.mvp.view.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
import java.util.List;
import bw.com.ljm.week3.R;
import bw.com.ljm.week3.bean.ShopBean;
public class RxxpAdapter extends RecyclerView.Adapter<RxxpAdapter.MyViewHolder> {
private Context context;
private ArrayList<ShopBean.ResultBean.RxxpBean.CommodityListBean> commodityListBeans = new ArrayList<>();
public RxxpAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public MyViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View inflate = LayoutInflater.from(context).inflate(R.layout.item_rxxp, null);
MyViewHolder myViewHolder = new MyViewHolder(inflate);
return myViewHolder;
}
@Override
public void onBindViewHolder(@NonNull MyViewHolder myViewHolder, int i) {
if (commodityListBeans.get(i) != null) {
myViewHolder.t00.setText(commodityListBeans.get(i).getCommodityName());
myViewHolder.t01.setText("¥" + commodityListBeans.get(i).getPrice());
Glide.with(context).load(commodityListBeans.get(i).getMasterPic()).into(myViewHolder.m00);
}
}
@Override
public int getItemCount() {
return commodityListBeans.size();
}
public void setData(List<ShopBean.ResultBean.RxxpBean.CommodityListBean> rxxpList) {
if (rxxpList != null) {
commodityListBeans.addAll(rxxpList);
notifyDataSetChanged();
}
}
public class MyViewHolder extends RecyclerView.ViewHolder {
ImageView m00;
TextView t00, t01;
public MyViewHolder(@NonNull View itemView) {
super(itemView);
m00 = itemView.findViewById(R.id.m00);
t00 = itemView.findViewById(R.id.t00);
t01 = itemView.findViewById(R.id.t01);
}
}
}