多網絡接口解析

佈局

<?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);
        }
    }
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章