布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".fragment.HomeFragment"
android:orientation="vertical"
>
<com.example.activity.myapplication.weight.MyHomeHeadView
android:id="@+id/home_head_view"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</com.example.activity.myapplication.weight.MyHomeHeadView>
<ScrollView
android:id="@+id/Home_Scrol"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="@dimen/dp_10"
>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<com.stx.xhb.xbanner.XBanner
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_180"
android:clipChildren="false"
app:AutoPlayTime="3000"
app:clipChildrenLeftRightMargin="@dimen/dp_30"
app:isClipChildrenMode="true"
app:isShowIndicatorOnlyOne="false"
app:isShowNumberIndicator="true"
app:pageChangeDuration="800">
</com.stx.xhb.xbanner.XBanner>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/Home_ReXiao_Image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@mipmap/rexiao"
/>
<TextView
android:id="@+id/home_rexiao_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:layout_centerInParent="true"
android:text="热销"/>
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/rexiao_recy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
></android.support.v7.widget.RecyclerView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/Home_moli_Image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@mipmap/moli"
/>
<TextView
android:id="@+id/home_moli_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:layout_centerInParent="true"
android:text="魔力"/>
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/moli_recy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
></android.support.v7.widget.RecyclerView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/Home_pinzhi_Image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@mipmap/pinzhi"
/>
<TextView
android:id="@+id/home_pinzhi_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:layout_centerInParent="true"
android:text="品质"/>
</RelativeLayout>
<android.support.v7.widget.RecyclerView
android:id="@+id/pinzhi_recy"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff"
></android.support.v7.widget.RecyclerView>
</LinearLayout>
</ScrollView>
</LinearLayout>
代码
package com.example.activity.myapplication.fragment;
import android.os.Bundle;
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.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.ScrollView;
import android.widget.TextView;
import android.widget.Toast;
import com.bumptech.glide.Glide;
import com.example.activity.myapplication.R;
import com.example.activity.myapplication.adapter.MyMoLiAdapter;
import com.example.activity.myapplication.adapter.MyPinZhiAdapter;
import com.example.activity.myapplication.adapter.MyReXiaoAdapter;
import com.example.activity.myapplication.bean.HomeBannerData;
import com.example.activity.myapplication.bean.HomeGoodsData;
import com.example.activity.myapplication.event.MyHeadEventBean;
import com.example.activity.myapplication.presenter.PersenterIpml;
import com.example.activity.myapplication.utils.Contacts;
import com.example.activity.myapplication.view.IView;
import com.example.activity.myapplication.weight.MyHomeHeadView;
import com.stx.xhb.xbanner.XBanner;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.HashMap;
/**
* A simple {@link Fragment} subclass.
*/
public class HomeFragment extends Fragment implements IView {
private MyHomeHeadView home_head_view;
private XBanner banner;
private PersenterIpml persenter;
private ScrollView Home_Scrol;
private ImageView Home_ReXiao_Image;
private TextView home_rexiao_tv;
private RecyclerView rexiao_recy;
private ArrayList<HomeGoodsData.ResultBean.RxxpBean.CommodityListBean> gList = new ArrayList<>();
private ArrayList<HomeGoodsData.ResultBean.PzshBean.CommodityListBeanX>pList=new ArrayList<>();
private ArrayList<HomeGoodsData.ResultBean.MlssBean.CommodityListBeanXX>mList=new ArrayList<>();
private MyReXiaoAdapter myReXiaoAdapter;
private ImageView Home_moli_Image;
private TextView home_moli_tv;
private RecyclerView moli_recy;
private ImageView Home_pinzhi_Image;
private TextView home_pinzhi_tv;
private RecyclerView pinzhi_recy;
private MyMoLiAdapter myMoLiAdapter;
private MyPinZhiAdapter myPinZhiAdapter;
public HomeFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//注册
EventBus.getDefault().register(this);
View view = inflater.inflate(R.layout.fragment_home, null);
initView(view);
//管理器
LinearLayoutManager manager = new LinearLayoutManager(getActivity());
manager.setOrientation(LinearLayoutManager.HORIZONTAL);
moli_recy.setLayoutManager(new LinearLayoutManager(getActivity()));
rexiao_recy.setLayoutManager(manager);
pinzhi_recy.setLayoutManager(new GridLayoutManager(getActivity(),2));
//适配器
HashMap<String, String> map = new HashMap<>();
HashMap<String,Object>hashMap=new HashMap<>();
myReXiaoAdapter = new MyReXiaoAdapter(gList, getActivity());
myMoLiAdapter = new MyMoLiAdapter(mList,getActivity());
myPinZhiAdapter = new MyPinZhiAdapter(pList,getActivity());
rexiao_recy.setAdapter(myReXiaoAdapter);
moli_recy.setAdapter(myMoLiAdapter);
pinzhi_recy.setAdapter(myPinZhiAdapter);
persenter = new PersenterIpml(this);
persenter.requestGEt(Contacts.USER_LUNBO, map,hashMap, HomeBannerData.class);
persenter.requestGEt(Contacts.HOME_GOODSURL, map,hashMap, HomeGoodsData.class);
return view;
}
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void getHeadEdText(MyHeadEventBean bean) {
if (bean.getType() == 1) {
Toast.makeText(getContext(), bean.getName(), Toast.LENGTH_SHORT).show();
}
}
@Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
public void onMeanuClick(MyHeadEventBean bean) {
if (bean.getType() == 0) {
Toast.makeText(getContext(), bean.getName(), Toast.LENGTH_SHORT).show();
}
}
private void initView(View view) {
home_head_view = (MyHomeHeadView) view.findViewById(R.id.home_head_view);
banner = (XBanner) view.findViewById(R.id.banner);
Home_Scrol = (ScrollView) view.findViewById(R.id.Home_Scrol);
Home_ReXiao_Image = (ImageView) view.findViewById(R.id.Home_ReXiao_Image);
home_rexiao_tv = (TextView) view.findViewById(R.id.home_rexiao_tv);
rexiao_recy = (RecyclerView) view.findViewById(R.id.rexiao_recy);
Home_moli_Image = (ImageView) view.findViewById(R.id.Home_moli_Image);
home_moli_tv = (TextView) view.findViewById(R.id.home_moli_tv);
moli_recy = (RecyclerView) view.findViewById(R.id.moli_recy);
Home_pinzhi_Image = (ImageView) view.findViewById(R.id.Home_pinzhi_Image);
home_pinzhi_tv = (TextView) view.findViewById(R.id.home_pinzhi_tv);
pinzhi_recy = (RecyclerView) view.findViewById(R.id.pinzhi_recy);
}
@Override
public void success(Object data) {
if (data instanceof HomeBannerData) {
final HomeBannerData homeBannerData = (HomeBannerData) data;
Toast.makeText(getActivity(), homeBannerData.getMessage(), Toast.LENGTH_SHORT).show();
banner.setData(homeBannerData.getResult(), null);
banner.loadImage(new XBanner.XBannerAdapter() {
@Override
public void loadBanner(XBanner banner, Object model, View view, int position) {
Glide.with(getActivity()).load(homeBannerData.getResult().get(position).getImageUrl()).into((ImageView) view);
}
});
}
if (data instanceof HomeGoodsData) {
HomeGoodsData homeGoodsData = (HomeGoodsData) data;
gList.addAll(homeGoodsData.getResult().getRxxp().get(0).getCommodityList());
mList.addAll(homeGoodsData.getResult().getMlss().get(0).getCommodityList());
pList.addAll(homeGoodsData.getResult().getPzsh().get(0).getCommodityList());
myReXiaoAdapter.notifyDataSetChanged();
myMoLiAdapter.notifyDataSetChanged();
myPinZhiAdapter.notifyDataSetChanged();
Toast.makeText(getActivity(), "zzz", Toast.LENGTH_SHORT).show();
}
}
@Override
public void error(Object error) {
}
}
适配器
package com.example.activity.myapplication.adapter;
import android.content.Context;
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 com.example.activity.myapplication.R;
import com.example.activity.myapplication.bean.HomeGoodsData;
import java.util.ArrayList;
public class MyMoLiAdapter extends RecyclerView.Adapter<MyMoLiAdapter.ViewHolder> {
private ArrayList<HomeGoodsData.ResultBean.MlssBean.CommodityListBeanXX> mList;
private Context mContext;
public MyMoLiAdapter(ArrayList<HomeGoodsData.ResultBean.MlssBean.CommodityListBeanXX> mList, Context mContext) {
this.mList = mList;
this.mContext = mContext;
}
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=View.inflate(mContext, R.layout.moli_item,null);
ViewHolder holder=new ViewHolder(view);
return holder;
}
public void onBindViewHolder(ViewHolder holder, int i) {
holder.moli_item_name.setText(mList.get(i).getCommodityName());
holder.moli_item_price.setText("¥"+mList.get(i).getPrice()+"");
Glide.with(mContext).load(mList.get(i).getMasterPic()).into(holder.moli_item_image);
}
public int getItemCount() {
return mList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private ImageView moli_item_image;
private TextView moli_item_name;
private TextView moli_item_price;
public ViewHolder(View itemView) {
super(itemView);
moli_item_image = itemView.findViewById(R.id.moli_item_image);
moli_item_name = itemView.findViewById(R.id.moli_item_name);
moli_item_price = itemView.findViewById(R.id.moli_item_price);
}
}
}
adapter
package com.example.activity.myapplication.adapter;
import android.content.Context;
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 com.example.activity.myapplication.R;
import com.example.activity.myapplication.bean.HomeGoodsData;
import java.util.ArrayList;
public class MyPinZhiAdapter extends RecyclerView.Adapter<MyPinZhiAdapter.ViewHolder> {
private ArrayList<HomeGoodsData.ResultBean.PzshBean.CommodityListBeanX>pList;
private Context mContext;
public MyPinZhiAdapter(ArrayList<HomeGoodsData.ResultBean.PzshBean.CommodityListBeanX> pList, Context mContext) {
this.pList = pList;
this.mContext = mContext;
}
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=View.inflate(mContext, R.layout.pinzhi_item,null);
ViewHolder holder=new ViewHolder(view);
return holder;
}
public void onBindViewHolder(ViewHolder holder, int i) {
holder.pinzhi_item_name.setText(pList.get(i).getCommodityName());
holder.pinzhi_item_price.setText("¥"+pList.get(i).getPrice()+"");
Glide.with(mContext).load(pList.get(i).getMasterPic()).into(holder.pinzhi_item_image);
}
public int getItemCount() {
return pList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private ImageView pinzhi_item_image;
private TextView pinzhi_item_name;
private TextView pinzhi_item_price;
public ViewHolder(View itemView) {
super(itemView);
pinzhi_item_image = itemView.findViewById(R.id.pinzhi_item_image);
pinzhi_item_name = itemView.findViewById(R.id.pinzhi_item_name);
pinzhi_item_price = itemView.findViewById(R.id.pinzhi_item_price);
}
}
}
Adapter日期格式转换
package com.example.activity.myapplication.adapter;
import android.content.Context;
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 com.bumptech.glide.load.engine.DiskCacheStrategy;
import com.bumptech.glide.request.RequestOptions;
import com.example.activity.myapplication.R;
import com.example.activity.myapplication.bean.CircleListData;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
public class MyCircleAdapter extends XRecyclerView.Adapter<MyCircleAdapter.ViewHolder> {
private ArrayList<CircleListData.ResultBean>cList;
private Context mContext;
public MyCircleAdapter(ArrayList<CircleListData.ResultBean> cList, Context mContext) {
this.cList = cList;
this.mContext = mContext;
}
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=View.inflate(mContext,R.layout.circle_item,null);
ViewHolder holder=new ViewHolder(view);
return holder;
}
public void onBindViewHolder(ViewHolder holder, int i) {
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date=new Date(cList.get(i).getCreateTime());
holder.circle_name.setText(cList.get(i).getNickName());
holder.circle_reQi.setText(format.format(date));
holder.circle_text.setText(cList.get(i).getContent());
holder.circle_zanShu.setText(cList.get(i).getGreatNum()+"");
Glide.with(mContext).load(cList.get(i).getImage()).into(holder.circle_image_lun);
RequestOptions mRequestOptions=RequestOptions.circleCropTransform()
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true);
Glide.with(mContext).load(cList.get(i).getHeadPic()).apply(mRequestOptions).into(holder.circle_image);
}
public int getItemCount() {
return cList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
private ImageView circle_image;
private TextView circle_name;
private TextView circle_reQi;
private TextView circle_text;
private ImageView circle_image_lun;
private TextView circle_zanShu;
public ViewHolder(View itemView) {
super(itemView);
circle_image = itemView.findViewById(R.id.Circle_Image);
circle_name = itemView.findViewById(R.id.Circle_Name);
circle_reQi = itemView.findViewById(R.id.Circle_ReQi);
circle_text = itemView.findViewById(R.id.Circle_Text);
circle_zanShu = itemView.findViewById(R.id.Circle_ZanShu);
circle_image_lun = itemView.findViewById(R.id.Circle_Image_Lun);
}
}
}