package android.bw.com.app0329.fragment;
import android.bw.com.app0329.R;
import android.bw.com.app0329.adapter.HomeListAdapter;
import android.bw.com.app0329.mvp.bannerBean.BannerResult;
import android.bw.com.app0329.mvp.bannerBean.User;
import android.bw.com.app0329.mvp.model.UserModelImp;
import android.bw.com.app0329.mvp.presenter.UserPresenterImp;
import android.bw.com.app0329.mvp.shoplistBean.HomeBaseListBean;
import android.bw.com.app0329.mvp.shoplistBean.Mlss;
import android.bw.com.app0329.mvp.shoplistBean.Pzsh;
import android.bw.com.app0329.mvp.shoplistBean.Rxxp;
import android.bw.com.app0329.mvp.shoplistBean.Shop;
import android.bw.com.app0329.mvp.shoplistBean.ShopResult;
import android.bw.com.app0329.mvp.view.UserView;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.google.gson.Gson;
import com.stx.xhb.xbanner.XBanner;
import com.stx.xhb.xbanner.entity.SimpleBannerInfo;
import java.util.ArrayList;
import java.util.List;
public class ShouFragment extends Fragment implements UserView {
private XBanner xbanner;
private UserPresenterImp userPresenterImp;
private RecyclerView recycle_view;
private ArrayList<HomeBaseListBean> shopList=new ArrayList<>();
private HomeListAdapter listAdapter;
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view= View.inflate(getActivity(), R.layout.shou_fragment,null);
//初始化控件
xbanner = view.findViewById(R.id.xbanner);
recycle_view = view.findViewById(R.id.recycle_view);
userPresenterImp= new UserPresenterImp(new UserModelImp(),this);
userPresenterImp.doBannerShow(0);
userPresenterImp.doShopListShow(1);
//创建适配器
listAdapter = new HomeListAdapter(getActivity());
//设置适配器
recycle_view.setAdapter(listAdapter);
//设置布局管理器
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recycle_view.setLayoutManager(linearLayoutManager);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
xbanner.loadImage(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
BannerResult bannerResult= (BannerResult) model;
Glide.with(getActivity()).load(bannerResult.getImageUrl()).into((ImageView) view);
}
});
}
@Override
public void success(int type, String data) {
if (type==0){//banner请求
Gson gson = new Gson();
User user = gson.fromJson(data, User.class);
ArrayList<BannerResult> result = user.getResult();
xbanner.setBannerData(result);
}else if(type==1){//首页商品列表
Gson gson = new Gson();
Shop shop = gson.fromJson(data, Shop.class);
ShopResult shopResult = shop.getResult();
//三个集合
Mlss mlss = shopResult.getMlss();
Pzsh pzsh = shopResult.getPzsh();
Rxxp rxxp = shopResult.getRxxp();
shopList.add(rxxp);
shopList.add(mlss);
shopList.add(pzsh);
listAdapter.setList(shopList);
}
}
@Override
public void fail(String error) {
}
}
adapter
package android.bw.com.app0329.adapter;
import android.bw.com.app0329.R;
import android.bw.com.app0329.mvp.shoplistBean.CommodityList;
import android.bw.com.app0329.mvp.shoplistBean.HomeBaseListBean;
import android.bw.com.app0329.mvp.shoplistBean.Mlss;
import android.bw.com.app0329.mvp.shoplistBean.Pzsh;
import android.bw.com.app0329.mvp.shoplistBean.Rxxp;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
public class HomeListAdapter extends RecyclerView.Adapter {
private Context context;
private ArrayList<HomeBaseListBean> list = new ArrayList<>();
public HomeListAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
int id = getItemViewType(i);
RecyclerView.ViewHolder viewHolder=null;
switch (id){
case 0:
View view=View.inflate(context, R.layout.adapter_home_list1,null);
viewHolder = new RxxpViewHolder(view);
break;
case 1:
View view1=View.inflate(context, R.layout.adapter_home_list2,null);
viewHolder = new MlssViewHloder(view1);
break;
case 2:
View view2=View.inflate(context, R.layout.adapter_home_list3,null);
viewHolder = new PzshViewHolder(view2);
break;
}
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
if (viewHolder instanceof RxxpViewHolder&&list.get(i) instanceof Rxxp){
RxxpViewHolder rxxpViewHolder = (RxxpViewHolder) viewHolder;
Rxxp rxxp= (Rxxp) list.get(i);
//设置标题
rxxpViewHolder.rxxp_title.setText(rxxp.getName());
ArrayList<CommodityList> rxxpCommodityList = rxxp.getCommodityList();
//创建布局管理器
LinearLayoutManager manager=new LinearLayoutManager(context);
manager.setOrientation(LinearLayoutManager.HORIZONTAL);
rxxpViewHolder.recycle_rxxp.setLayoutManager(manager);
//设置适配器
RxxpAdapter rxxpAdapter=new RxxpAdapter(context,rxxpCommodityList);
rxxpViewHolder.recycle_rxxp.setAdapter(rxxpAdapter);
}else if(viewHolder instanceof MlssViewHloder&&list.get(i) instanceof Mlss){
MlssViewHloder mlssViewHloder= (MlssViewHloder) viewHolder;
Mlss mlss= (Mlss) list.get(i);
//设置标题
mlssViewHloder.mlss_title.setText(mlss.getName());
ArrayList<CommodityList> mlssCommodityList = mlss.getCommodityList();
//设置布局管理器
LinearLayoutManager manager=new LinearLayoutManager(context);
manager.setOrientation(LinearLayoutManager.VERTICAL);
mlssViewHloder.recycle_mlss.setLayoutManager(manager);
//设置适配器
MlssAdapter mlssAdapter=new MlssAdapter(context,mlssCommodityList);
//设置适配器
mlssViewHloder.recycle_mlss.setAdapter(mlssAdapter);
}else if (viewHolder instanceof PzshViewHolder&&list.get(i) instanceof Pzsh){
PzshViewHolder pzshViewHolder= (PzshViewHolder) viewHolder;
Pzsh pzsh= (Pzsh) list.get(i);
//设置标题
pzshViewHolder.pzsh_title.setText(pzsh.getName());
ArrayList<CommodityList> pzshCommodityList = pzsh.getCommodityList();
//设置布局管理器
GridLayoutManager manager=new GridLayoutManager(context,2);
pzshViewHolder.recycle_pzsh.setLayoutManager(manager);
//设置适配器
PzshAdapter pzshAdapter=new PzshAdapter(context,pzshCommodityList);
//设置适配器
pzshViewHolder.recycle_pzsh.setAdapter(pzshAdapter);
}
}
@Override
public int getItemCount() {
return list.size();
}
public void setList(ArrayList<HomeBaseListBean> list) {
this.list = list;
notifyDataSetChanged();
}
//热销新品
private class RxxpViewHolder extends RecyclerView.ViewHolder{
private TextView rxxp_title;
private RecyclerView recycle_rxxp;
public RxxpViewHolder(@NonNull View itemView) {
super(itemView);
rxxp_title = itemView.findViewById(R.id.rxxp_title);
recycle_rxxp = itemView.findViewById(R.id.recycle_rxxp);
}
}
//魔丽时尚
private class MlssViewHloder extends RecyclerView.ViewHolder{
private TextView mlss_title;
private RecyclerView recycle_mlss;
public MlssViewHloder(@NonNull View itemView) {
super(itemView);
mlss_title = itemView.findViewById(R.id.mlss_title);
recycle_mlss = itemView.findViewById(R.id.recycle_mlss);
}
}
//品质生活
private class PzshViewHolder extends RecyclerView.ViewHolder{
private TextView pzsh_title;
private RecyclerView recycle_pzsh;
public PzshViewHolder(@NonNull View itemView) {
super(itemView);
pzsh_title = itemView.findViewById(R.id.pzsh_title);
recycle_pzsh = itemView.findViewById(R.id.recycle_pzsh);
}
}
@Override
public int getItemViewType(int i) {
if (list.get(i) instanceof Rxxp){
return 0;
}else if(list.get(i) instanceof Mlss ){
return 1;
}else{
return 2;
}
}
}
魅力时尚
package android.bw.com.app0329.adapter;
import android.bw.com.app0329.R;
import android.bw.com.app0329.mvp.shoplistBean.CommodityList;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
public class MlssAdapter extends RecyclerView.Adapter<MlssAdapter.ViewHolder> {
private Context context;
private ArrayList<CommodityList> list=new ArrayList<>();
public MlssAdapter(Context context, ArrayList<CommodityList> list) {
this.context = context;
this.list = list;
}
@NonNull
@Override
public MlssAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=View.inflate(context, R.layout.mlss_layout,null);
ViewHolder mlssHolder = new ViewHolder(view);
return mlssHolder;
}
@Override
public void onBindViewHolder(@NonNull MlssAdapter.ViewHolder viewHolder, int i) {
Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.mlss_img);
viewHolder.mlss_name.setText(list.get(i).getCommodityName());
viewHolder.mlss_price.setText("¥"+list.get(i).getPrice());
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private ImageView mlss_img;
private TextView mlss_name,mlss_price;
public ViewHolder(@NonNull View itemView) {
super(itemView);
mlss_img = itemView.findViewById(R.id.mlss_img);
mlss_name = itemView.findViewById(R.id.mlss_name);
mlss_price=itemView.findViewById(R.id.mlss_price);
}
}
}
品质生活
package android.bw.com.app0329.adapter;
import android.bw.com.app0329.R;
import android.bw.com.app0329.mvp.shoplistBean.CommodityList;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
public class PzshAdapter extends RecyclerView.Adapter<PzshAdapter.ViewHolder>{
private Context context;
private ArrayList<CommodityList> list=new ArrayList<>();
public PzshAdapter(Context context, ArrayList<CommodityList> list) {
this.context = context;
this.list = list;
}
@NonNull
@Override
public PzshAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=View.inflate(context, R.layout.pzsh_layout,null);
ViewHolder pzshHolder = new ViewHolder(view);
return pzshHolder;
}
@Override
public void onBindViewHolder(@NonNull PzshAdapter.ViewHolder viewHolder, int i) {
Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.pzsh_img);
viewHolder.pzsh_name.setText(list.get(i).getCommodityName());
viewHolder.pzsh_price.setText("¥"+list.get(i).getPrice());
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private ImageView pzsh_img;
private TextView pzsh_name,pzsh_price;
public ViewHolder(@NonNull View itemView) {
super(itemView);
pzsh_img = itemView.findViewById(R.id.pzsh_img);
pzsh_name = itemView.findViewById(R.id.pzsh_name);
pzsh_price = itemView.findViewById(R.id.pzsh_price);
}
}
}
热销生活
package android.bw.com.app0329.adapter;
import android.bw.com.app0329.R;
import android.bw.com.app0329.mvp.shoplistBean.CommodityList;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import java.util.ArrayList;
public class RxxpAdapter extends RecyclerView.Adapter<RxxpAdapter.ViewHolder>{
private Context context;
private ArrayList<CommodityList> list=new ArrayList<>();
public RxxpAdapter(Context context, ArrayList<CommodityList> list) {
this.context = context;
this.list = list;
}
@NonNull
@Override
public RxxpAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=View.inflate(context, R.layout.rxxp_layout,null);
ViewHolder Rxxpholder=new ViewHolder(view);
return Rxxpholder;
}
@Override
public void onBindViewHolder(@NonNull RxxpAdapter.ViewHolder viewHolder, int i) {
Glide.with(context).load(list.get(i).getMasterPic()).into(viewHolder.rxxp_img);
viewHolder.text_name.setText(list.get(i).getCommodityName());
viewHolder.text_price.setText("¥"+list.get(i).getPrice());
}
@Override
public int getItemCount() {
return list.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private ImageView rxxp_img;
private TextView text_name,text_price;
public ViewHolder(@NonNull View itemView) {
super(itemView);
rxxp_img = itemView.findViewById(R.id.rxxp_img);
text_name = itemView.findViewById(R.id.text_name);
text_price = itemView.findViewById(R.id.text_price);
}
}
}