首页(轮播图)

清单文件----------------

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.com.moni">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

    <application
        android:name=".api.Myapplaction"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">

        </activity>
        <activity android:name=".ResgiterActivity" />
        <!--启动项-->
        <activity android:name=".HaredActivity" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".XiangActivity" />
        <activity android:name=".ShopListActivity"></activity>
    </application>

</manifest>
 
 依赖-------------------- 
 

 compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.squareup.okhttp3:okhttp:3.10.0'
    compile 'com.github.bumptech.glide:glide:3.7.0'
    compile 'com.android.support:recyclerview-v7:26.1.0'
    compile 'com.jakewharton:butterknife:8.8.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

    compile 'io.reactivex.rxjava2:rxjava:2.1.7'
    compile 'io.reactivex.rxjava2:rxandroid:2.0.1'

    compile 'com.squareup.retrofit2:converter-gson:2.4.0'
    compile 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
    compile 'com.squareup.retrofit2:retrofit:2.1.0'
// 其他依赖  Fresco加载图片框架
    compile 'com.facebook.fresco:fresco:0.12.0'
    compile 'com.facebook.fresco:animated-gif:0.12.0'
    compile 'org.greenrobot:eventbus:3.0.0'
//轮播图
    compile 'com.youth.banner:banner:1.4.9'


/**
 * Created by len on 2018/4/29.
 */

public interface ApiService {
    //mobile   password
    //登录接口: http://120.27.23.105/user/login?mobile=&password=
   // 注册接口: http://120.27.23.105/user/reg
//添加购物车   接口地址:http://120.27.23.105/product/addCart
    //uid  string 是  用户id   pid string 是  商品id
    //首页接口:  http://result.eolinker.com/umIPmfS6c83237d9c70c7c9510c9b0f97171a308d13b611?uri=homepage
//查询购物车
 //   接口地址:http://120.27.23.105/product/getCarts
//分类   https://www.zhaoapi.cn/product/getCatagory
    //子分类   https://www.zhaoapi.cn/product/getProductCatagory
//更新购物车
   // 接口地址:http://120.27.23.105/product/updateCarts?uid=71&sellerid=1&pid=1&s
//详情   https://www.zhaoapi.cn/product/getProductDetail?pid=58&source=android
 //商品列表   https://www.zhaoapi.cn/product/getProducts
      /**
     * 注册
     * @param mobile
     * @param password
     * @return
     */
    @GET("user/reg")
    Flowable<ResigterBean> getRegService(@Query("mobile") String mobile,@Query("password") String password);

    /**
     * 登录
     * @param mobile
     * @param password
     * @return
     */
    @GET("user/login")
    Flowable<LoginBean> getLogService(@Query("mobile") String mobile,@Query("password") String password);

    /**
     * 首页
     *
     * https://www.zhaoapi.cn/product/getCatagory
     * @return
     */
    @GET("product/getCatagory")
    Flowable<HaredTopBean> getHadTopService();
    /**
     * 轮播图  https://www.zhaoapi.cn/ad/getAd
     */
    @GET("ad/getAd")
    Flowable<LunBoBean> getTopService();
    /**
     * 右边recyiew
     *  https://www.zhaoapi.cn/product/getProductCatagory
     */
    @GET("product/getProductCatagory")
    Flowable<RightRecyBean> getRightRecyService(@Query("cid") String cid);

    /**
     *
     * @param pid
     * @return
     */
    @GET("product/getProductDetail?source=android")
    Flowable<XiangqingBean> getXiangService(@Query("pid") String pid);
    /**
     * 添加购物车
     */
    @GET("product/addCart")
    Flowable<AddBean> AddShpping( @Query("pid") String pid, @Query("uid") String cid, @Query("source") String source);

    /**
     * 分类商品列表
     * @param pscid
     * @return
     */
    @GET("product/getProducts?source=android")
    Flowable<FenListBean> fenList(@Query("pscid") String pscid);
    /**
     * 购物车
     * https://www.zhaoapi.cn/product/getCarts?uid=71
     */
    @GET("product/getCarts?source=android")
    Flowable<ShopCartBean> getshopCart(@Query("uid") String uid);
}
<?xml version="1.0" encoding="utf-8"?>
<ScrollView android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#F0F0F0"
    android:orientation="vertical">


    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
        <!--轮播图-->
        <com.youth.banner.Banner
            android:id="@+id/ban"
            android:layout_width="match_parent"
            android:layout_height="150dp"></com.youth.banner.Banner>
            <include layout="@layout/title_layout"
                android:layout_width="match_parent"
                android:layout_height="40dp"
                android:layout_marginTop="10dp"
                />

        </RelativeLayout>
    <!--首页recy_top布局-->
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:id="@+id/recyview_top"></android.support.v7.widget.RecyclerView>
    <!--京东快报-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:orientation="horizontal"
        android:background="@drawable/kuaibao"
        android:layout_marginRight="10dp"
        android:layout_marginBottom="10dp"
        android:layout_marginLeft="10dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="20dp"
            android:text="京东快报"
            android:layout_gravity="center_vertical"
            android:gravity="center"
            android:layout_marginLeft="10dp"/>

        <com.example.com.moni.adapter.kuaibao.ADTextView
            android:layout_width="wrap_content"
            android:layout_height="20dp"
            android:id="@+id/re"/>
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="20dp"
            android:text="|更多……"/>

    </LinearLayout>
   <!--image-->
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/jd"/>
    <!--京东秒杀-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:gravity="center_vertical">

        <TextView

            android:id="@+id/tv_miaosha"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:text="京东秒杀"
            android:textColor="#f00" />

        <TextView
            android:id="@+id/tv_miaosha_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="5dp"
            android:text="10点场" />

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content">


            <TextView
                android:id="@+id/tv_miaosha_shi"
                android:layout_width="15dp"
                android:layout_height="15dp"
                android:background="@drawable/shape_miaosha_time"
                android:gravity="center"
                android:text="1"
                android:textColor="#fff"
                android:textSize="10sp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="3dp"

                android:text=":" />

            <TextView
                android:id="@+id/tv_miaosha_minter"
                android:layout_width="15dp"
                android:layout_height="15dp"
                android:background="@drawable/shape_miaosha_time"
                android:gravity="center"
                android:text="1"
                android:textColor="#fff"
                android:textSize="10sp" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="3dp"

                android:text=":" />

            <TextView
                android:id="@+id/tv_miaosha_second"
                android:layout_width="15dp"
                android:layout_height="15dp"
                android:background="@drawable/shape_miaosha_time"
                android:gravity="center"
                android:text="1"
                android:textColor="#fff"
                android:textSize="10sp" />
        </LinearLayout>
    </LinearLayout>
    <!--秒杀-->
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        android:id="@+id/recyView_miao">
         </android.support.v7.widget.RecyclerView>
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="20dp"
        android:background="@drawable/tuijian"
        />
    <!--推荐-->
    <android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#fff"
        android:layout_marginTop="10dp"
        android:layout_gravity="center_horizontal"
        android:id="@+id/recy_tuijian"></android.support.v7.widget.RecyclerView>
    </LinearLayout>
</ScrollView>
 
 

package com.example.com.moni.fragment;

import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;

import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.DividerItemDecoration;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.com.moni.R;
import com.example.com.moni.XiangActivity;
import com.example.com.moni.adapter.RecyMiaoAdapter;
import com.example.com.moni.adapter.RecyTuiAdapter;
import com.example.com.moni.adapter.TopRecyAdapter;
import com.example.com.moni.adapter.kuaibao.ADEnity;
import com.example.com.moni.adapter.kuaibao.ADTextView;
import com.example.com.moni.api.MyApp;
import com.example.com.moni.bean.HaredTopBean;
import com.example.com.moni.bean.LunBoBean;
import com.example.com.moni.bean.XiangqingBean;
import com.example.com.moni.presenter.LunPresenter;
import com.example.com.moni.presenter.RecyTopPresenter;
import com.example.com.moni.presenter.XiangPresenter;
import com.example.com.moni.view.ITopView;
import com.example.com.moni.view.IXiangView;
import com.example.com.moni.view.IlunView;
import com.youth.banner.Banner;
import com.youth.banner.transformer.CubeOutTransformer;

import java.sql.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

/**
 * Created by len on 2018/4/29.
 */

public class Fragment1 extends Fragment implements IlunView,ITopView,RecyTuiAdapter.GetPid{
    private Banner ban;
    private List<String> list;
    private ArrayList<ADEnity> mList;
    private View view;
    private RecyclerView recy_top;
    private RecyclerView recyView_miao;
    private List<LunBoBean.MiaoshaBean.ListBeanX> miaoshaList;
    private ADTextView mADTextView1;
    private TextView miaosha_time;
    private TextView miaosha_shi;
    private TextView miaosha_minter;
    private TextView miaosha_second;
    private RecyclerView recy_tuijian;
    private List<LunBoBean.TuijianBean.ListBean> tuijianList;
    private LunPresenter lunPresenter;

    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            setTime();
            sendEmptyMessageDelayed(0, 1000);
        }
    };


    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        view = inflater.inflate(R.layout.fragment01, container, false);
        //找到控件
        ban = view.findViewById(R.id.ban);
        //首页2recyview
        recy_top = view.findViewById(R.id.recyview_top);
        //秒杀
        recyView_miao = view.findViewById(R.id.recyView_miao);
        //推荐
        recy_tuijian = view.findViewById(R.id.recy_tuijian);
        /**
         * 轮播图
         */ //创建p        lunPresenter = new LunPresenter(this);
        lunPresenter.getLunMdata();
        /**
         * recyview_top页面,调用p层方法
         */
        RecyTopPresenter recyTopPresenter=new RecyTopPresenter(this);
        recyTopPresenter.getTopMdata();
        /**
         * recy_miao页面 调用p层方法,数据和recyview_top同个接口
         */
        /**
         *   3. 横向滑动条
         */
        init();
        /**
         *  4. 秒杀
         */

        initView();
        handler.sendEmptyMessage(0);
        /**
         * 详情
         */
//        XiangPresenter xiangPresenter=new XiangPresenter(this);
//        xiangPresenter.getXMdata(pid);

        return view;
    }
//秒杀
    private void initView() {
        miaosha_time = view.findViewById(R.id.tv_miaosha_time);
        miaosha_shi = view.findViewById(R.id.tv_miaosha_shi);
        miaosha_minter = view.findViewById(R.id.tv_miaosha_minter);
        miaosha_second = view.findViewById(R.id.tv_miaosha_second);
    }

    //横向滑动
    private void init() {
        mADTextView1 = view.findViewById(R.id.re);
        mList = new ArrayList<>();
        mList.add(new ADEnity("推荐", "国货PK美国货,结果让人震惊……", "连接1"));
        mList.add(new ADEnity("劲爆", "这次XiPhone,可能让你迷路……", "连接2"));
        mList.add(new ADEnity("推荐", "为什么吉普,奥巴马都爱钓鱼……", "连接3"));
        mList.add(new ADEnity("HOT", "虽然我字难看,但我钢笔好看啊……", "连接4"));
        mADTextView1.setSpeed(3);
        mADTextView1.setInterval(1500);
        mADTextView1.setFrontColor(Color.RED);
        mADTextView1.setBackColor(Color.BLACK);
        mADTextView1.setmTexts(mList);
    }

    //秒杀倒计时
    private void setTime() {

        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Date curDate = new Date(System.currentTimeMillis());
        String format = df.format(curDate);
        StringBuffer buffer = new StringBuffer();
        String substring = format.substring(0, 11);
        buffer.append(substring);
        Log.d("ccc", substring);
        Calendar calendar = Calendar.getInstance();
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        if (hour % 2 == 0) {
            miaosha_time.setText(hour + "点场");
            buffer.append((hour + 2));
            buffer.append(":00:00");
        } else {
            miaosha_time.setText((hour - 1) + "点场");
            buffer.append((hour + 1));
            buffer.append(":00:00");
        }
        String totime = buffer.toString();
        try {
            java.util.Date date = df.parse(totime);
            java.util.Date date1 = df.parse(format);
            long defferenttime = date.getTime() - date1.getTime();
            long days = defferenttime / (1000 * 60 * 60 * 24);
            long hours = (defferenttime - days * (1000 * 60 * 60 * 24)) / (1000 * 60 * 60);
            long minute = (defferenttime - days * (1000 * 60 * 60 * 24) - hours * (1000 * 60 * 60)) / (1000 * 60);
            long seconds = defferenttime % 60000;
            long second = Math.round((float) seconds / 1000);
            miaosha_shi.setText("0" + hours + "");
            if (minute >= 10) {
                miaosha_minter.setText(minute + "");
            } else {
                miaosha_minter.setText("0" + minute + "");
            }
            if (second >= 10) {
                miaosha_second.setText(second + "");
            } else {
                miaosha_second.setText("0" + second + "");
            }

        } catch (ParseException e) {
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    //v层请求数据
    @Override
    public void success(LunBoBean lunBoBean) {
        List<LunBoBean.DataBean> data = lunBoBean.getData();
        list = new ArrayList<>();
        for (int i = 0; i <data.size() ; i++) {
            String icon = data.get(i).getIcon();
            //把图片添加到list
            list.add(icon);
        }
        /**
         *   轮播

         */

        ban.setImageLoader(new MyApp());//引用ImgApp,加载里面的东西
        ban.setImages(list)
                .setBannerAnimation(CubeOutTransformer.class)
                .isAutoPlay(true)
             //   .setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE)
//                .setBannerTitles(title)
                .setDelayTime(2000)
                .start();
        /**
         * 秒杀
         */
        LunBoBean.MiaoshaBean miaosha = lunBoBean.getMiaosha();
        miaoshaList = miaosha.getList();
        //设置适配器
        StaggeredGridLayoutManager manager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
        recyView_miao.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.HORIZONTAL));
        recyView_miao.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL));
        recyView_miao.setLayoutManager(manager);
        //设置适配器
        RecyMiaoAdapter adapter=new RecyMiaoAdapter(getActivity(),miaoshaList);
        recyView_miao.setAdapter(adapter);
        /**
         * 推荐
         */
        LunBoBean.TuijianBean tuijian = lunBoBean.getTuijian();
        tuijianList = tuijian.getList();
        StaggeredGridLayoutManager manager1=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);

        recy_tuijian.setLayoutManager(manager1);
        recy_tuijian.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.HORIZONTAL));
        recy_tuijian.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL));
        //设置控制器
        RecyTuiAdapter adapter2=new RecyTuiAdapter(getActivity(), tuijianList);
        recy_tuijian.setAdapter(adapter2);
        adapter2.getClick(Fragment1.this);

    }

    /**
     * 首页recyview_top
     * @param
     */
    @Override
    public void Tsuccess(HaredTopBean haredTopBean) {
        List<HaredTopBean.DataBean> data = haredTopBean.getData();
        Log.d("fragment", "Tsuccess: "+data.size());
        //瀑布流
        StaggeredGridLayoutManager manager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.HORIZONTAL);
        recy_top.setLayoutManager(manager);

        //recy_top设置适配器
        TopRecyAdapter adapter=new TopRecyAdapter(getActivity(),data);
        recy_top.setAdapter(adapter);

    }
    //点击事件  传pid
    @Override
    public void setClick(int pid) {
        Intent intent=new Intent(getActivity(), XiangActivity.class);
        intent.putExtra("pid",tuijianList.get(pid).getPid());
        startActivity(intent);
    }

    @Override
    public void onDestroy() {
        super.onDestroy();
        //置空
        lunPresenter.dettach();
    }
}
适配器(首页TopRecyView代码)
 
 
 
 
package com.example.com.moni.adapter;

import android.content.Context;
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.com.moni.R;
import com.example.com.moni.bean.HaredTopBean;
import com.example.com.moni.bean.LunBoBean;
import com.facebook.drawee.view.SimpleDraweeView;

import java.util.List;

/**
 * Created by len on 2018/5/1.
 */

public class TopRecyAdapter extends RecyclerView.Adapter {
    Context context;
    List<HaredTopBean.DataBean> data;
    private TopViewHolder topViewHolder;

    public TopRecyAdapter(Context context, List<HaredTopBean.DataBean> data) {
        this.context=context;
        this.data=data;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
      //引入布局

      View view=LayoutInflater.from(context).inflate(R.layout.top_recy_item,parent,false);
      //把布局和自定义适配器绑定
        topViewHolder = new TopViewHolder(view);
      return topViewHolder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        topViewHolder= (TopViewHolder) holder;
        //赋值
        topViewHolder.top_img.setImageURI(data.get(position).getIcon());
        topViewHolder.top_text.setText(data.get(position).getName());
    }

    @Override
    public int getItemCount() {
        return data.size();
    }

    class TopViewHolder extends RecyclerView.ViewHolder {

        private final SimpleDraweeView top_img;
        private final TextView top_text;

        public TopViewHolder(View itemView) {
            super(itemView);
            top_img = itemView.findViewById(R.id.top_recy_img);
            top_text = itemView.findViewById(R.id.top_recy_text);

        }
    }
}

秒杀适配器代码(多条目)
 
 
 
 
package com.example.com.moni.adapter;

import android.content.Context;
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.com.moni.R;
import com.example.com.moni.bean.LunBoBean;
import com.facebook.drawee.view.SimpleDraweeView;

import java.util.List;

/**
 * Created by len on 2018/5/1.
 */

public class RecyMiaoAdapter extends RecyclerView.Adapter {
    Context context;
    private int index;
    public static final int TYPE_ONE = 0;
    public static final int TYPE_TWO = 1;
    List<LunBoBean.MiaoshaBean.ListBeanX> miaoshaList;
    private MiaoViewHolder miaoViewHolder;
    private int type;

    public RecyMiaoAdapter(Context context, List<LunBoBean.MiaoshaBean.ListBeanX> miaoshaList) {
       this.context=context;
       this.miaoshaList=miaoshaList;
    }


    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    //引入布局
        View view;
        if(viewType==TYPE_ONE){
            view= LayoutInflater.from(context).inflate(R.layout.recyview_miao_item,parent, false);
           return new MiaoViewHolder(view);
        }else{
            view=LayoutInflater.from(context).inflate(R.layout.recyview_miao_item2,parent,false);
            return new  MiaoViewHolder2(view);
        }

    }

    @Override
    public int getItemViewType(int position) {
       // type = getItemViewType(position);
         //type = miaoshaList.get(position).getItemtype();
        if(position ==0){
            return TYPE_ONE;
        }else{
            return TYPE_TWO;
        }

    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        int itemViewType = getItemViewType(position);

        if(itemViewType==0){
            MiaoViewHolder miaoViewHolder= (MiaoViewHolder) holder;

            miaoViewHolder.re_title_price.setText(miaoshaList.get(position).getPrice()+"");
            miaoViewHolder.re_title_price21.setText("¥"+miaoshaList.get(position+1).getPrice()+"");
            miaoViewHolder.re_title_price31.setText("¥"+miaoshaList.get(position+2).getPrice()+"");

            String images = miaoshaList.get(position).getImages();
            String[] split = images.split("\\|");
            miaoViewHolder.re_img1.setImageURI(split[0]);
            miaoViewHolder.re_img2.setImageURI(split[1]);
            miaoViewHolder.re_img3.setImageURI(split[2]);

        }else{
            MiaoViewHolder2 miaoViewHolder2= (MiaoViewHolder2) holder;
            String images2 = miaoshaList.get(position).getImages();
            String[] split2 = images2.split("\\|");
            miaoViewHolder2.two_text1.setText("¥"+miaoshaList.get(position).getPrice()+"");
            miaoViewHolder2.two_text2.setText("¥"+miaoshaList.get(position).getPrice()+"");
            miaoViewHolder2.two_img1.setImageURI(split2[0]);
            miaoViewHolder2.two_img2.setImageURI(split2[1]);
        }

    }

    @Override
    public int getItemCount() {
        return 4;
    }


    class MiaoViewHolder extends RecyclerView.ViewHolder {

        private final SimpleDraweeView re_img1;
        private final TextView re_title_price;

        private final SimpleDraweeView re_img2;
        private final TextView re_title_price21;

        private final SimpleDraweeView re_img3;
        private final TextView re_title_price31;

        public MiaoViewHolder(View itemView) {
            super(itemView);

            re_img1 = itemView.findViewById(R.id.miao_title_img1);
            re_title_price = itemView.findViewById(R.id.miao_title11);
            re_img2= itemView.findViewById(R.id.miao_title_img2);
            re_title_price21 = itemView.findViewById(R.id.miao_title21);
            re_img3 = itemView.findViewById(R.id.miao_title_img3);
            re_title_price31 = itemView.findViewById(R.id.miao_title31);
        }
    }
    class MiaoViewHolder2 extends RecyclerView.ViewHolder {

        private final TextView two_text1;
        private final SimpleDraweeView two_img1;
        private final TextView two_text2;
        private final SimpleDraweeView two_img2;

        public MiaoViewHolder2(View itemView) {
            super(itemView);
            two_text1 = itemView.findViewById(R.id.two_miao_title1);
            two_img1 = itemView.findViewById(R.id.two_miao_img1);
            two_text2 = itemView.findViewById(R.id.two_miao_title2);
            two_img2 = itemView.findViewById(R.id.two_miao_img2);
        }
    }
}

推荐适配器
 
 
 
 
package com.example.com.moni.adapter;

import android.content.Context;
import android.support.v4.app.FragmentActivity;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.com.moni.R;
import com.example.com.moni.bean.LunBoBean;
import com.example.com.moni.utils.HttpUtils;
import com.facebook.drawee.view.SimpleDraweeView;

import java.util.List;

/**
 * Created by len on 2018/5/1.
 */

public class RecyTuiAdapter extends RecyclerView.Adapter {
    Context context;
    List<LunBoBean.TuijianBean.ListBean> tuijianList;
    private TuiViewholder tuiViewholder;
    private GetPid getPid;

    public RecyTuiAdapter(Context context, List<LunBoBean.TuijianBean.ListBean> tuijianList) {
        this.context=context;
        this.tuijianList=tuijianList;
    }
//定义得到接口对象方法
    public void getClick(GetPid getPid){
        this.getPid=getPid;

    }
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view=LayoutInflater.from(context).inflate(R.layout.tuijian_recy_item,parent,false);
        tuiViewholder = new TuiViewholder(view);
        return tuiViewholder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        tuiViewholder= (TuiViewholder) holder;
        String images = tuijianList.get(position).getImages();
        String[] split = images.split("\\|");
        //赋值
        tuiViewholder.tui_img.setImageURI(split[0]);
        tuiViewholder.tui_text.setText(tuijianList.get(position).getTitle());
        //设置点击事件  传入pid
        tuiViewholder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                getPid.setClick(position);
            }
        });
        
    }

    @Override
    public int getItemCount() {
        return tuijianList.size();
    }

    class TuiViewholder extends RecyclerView.ViewHolder {

        private final TextView tui_text;
        private final SimpleDraweeView tui_img;

        public TuiViewholder(View itemView) {
            super(itemView);
            tui_text = itemView.findViewById(R.id.tui_recy_text);
            tui_img = itemView.findViewById(R.id.tui_recy_img);
        }
    }

    public interface GetPid{
        //点击事件
        void setClick(int pid);
    }
}

商品列表适配器
 
 
 
 
package com.example.com.moni.adapter;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

import com.example.com.moni.R;
import com.example.com.moni.ShopListActivity;
import com.example.com.moni.bean.FenListBean;
import com.facebook.drawee.view.SimpleDraweeView;

import org.greenrobot.eventbus.EventBus;

import java.util.List;

/**
 * Created by len on 2018/5/2.
 */

public class ShopListAdapter extends RecyclerView.Adapter {
    Context context;
    List<FenListBean.DataBean> fenListBeanData;
    private ShopListViewHolder shopListViewHolder;
    private SetOnClick setOnClick;

    public ShopListAdapter(Context context, List<FenListBean.DataBean> fenListBeanData) {
       this.context=context;
       this.fenListBeanData=fenListBeanData;

    }
    //提供得到接口对象方法
    public void getClick(SetOnClick setOnClick){
        this.setOnClick=setOnClick;
    }
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view= LayoutInflater.from(context).inflate(R.layout.recy_shop_item,null);
        shopListViewHolder = new ShopListViewHolder(view);
        return shopListViewHolder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        shopListViewHolder= (ShopListViewHolder) holder;
        String images = fenListBeanData.get(position).getImages();
        String[] split = images.split("\\|");
        shopListViewHolder.shop_img.setImageURI(split[0]);
        shopListViewHolder.shop_title.setText(fenListBeanData.get(position).getTitle());
        shopListViewHolder.shop_price.setText("¥"+fenListBeanData.get(position).getPrice()+"");
        //设置点击事件
        shopListViewHolder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setOnClick.setItemClick(position);
            }
        });
    }

    @Override
    public int getItemCount() {
        return fenListBeanData.size();
    }
    class ShopListViewHolder extends RecyclerView.ViewHolder {

        private final SimpleDraweeView shop_img;
        private final TextView shop_title;
        private final TextView shop_price;

        public ShopListViewHolder(View itemView) {
            super(itemView);
            shop_img = itemView.findViewById(R.id.re_shop_img);
            shop_title = itemView.findViewById(R.id.re_shop_title);
            shop_price = itemView.findViewById(R.id.re_shop_price);
        }
    }
    //定义接口设置点击事件
    public interface SetOnClick{
        //定义点击事件
        void setItemClick(int position);
    }
}

商品列表Activity

 
 
package com.example.com.moni;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.util.Log;

import com.example.com.moni.adapter.ShopListAdapter;
import com.example.com.moni.bean.FenListBean;
import com.example.com.moni.presenter.ShopListPresenter;
import com.example.com.moni.view.IShopListView;

import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;

import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;

public class ShopListActivity extends AppCompatActivity implements IShopListView,ShopListAdapter.SetOnClick {

    @BindView(R.id.recy_shop_list)
    RecyclerView recyShopListView;
    private ShopListPresenter shopLifstPresenter;
    private List<FenListBean.DataBean> fenListBeanData;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_shop_list);
        ButterKnife.bind(this);
        //注册
        EventBus.getDefault().register(this);

    }

    //定义订阅方法
    @Subscribe(threadMode = ThreadMode.MAIN,sticky = true)
    public void getPscid(String pscid) {
        //创建p        shopLifstPresenter = new ShopListPresenter(this);
        Log.e("--",pscid+"1111111111");
        shopLifstPresenter.getSLdata(pscid+"");
    }

    @Override
    public void getShopListData(FenListBean fenListBean) {

        fenListBeanData = fenListBean.getData();
        Log.e("--", "getShopListData: "+ fenListBeanData.size());
        //设置控制器
        StaggeredGridLayoutManager manager=new StaggeredGridLayoutManager(1,StaggeredGridLayoutManager.VERTICAL);
        recyShopListView.setLayoutManager(manager);

        //设置适配器
        ShopListAdapter adapter=new ShopListAdapter(ShopListActivity.this, fenListBeanData);
        recyShopListView.setAdapter(adapter);
        adapter.getClick(this);

    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        EventBus.getDefault().unregister(this);
    }
    //设置点击事件 发送pidxaingqinng
    @Override
    public void setItemClick(int position) {
        int pid = fenListBeanData.get(position).getPid();
       // EventBus.getDefault().postSticky(pid+"");
        Intent intent=new Intent(ShopListActivity.this,XiangActivity.class);
        intent.putExtra("pid",pid);
        startActivity(intent);
    }

}

详情页面activity
 
 
package com.example.com.moni;

import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import android.widget.Toast;

import com.example.com.moni.bean.AddBean;
import com.example.com.moni.bean.RightRecyBean;
import com.example.com.moni.bean.XiangqingBean;
import com.example.com.moni.presenter.AddPresenter;
import com.example.com.moni.presenter.XiangPresenter;
import com.example.com.moni.view.IAddView;
import com.example.com.moni.view.IRecyRightView;
import com.example.com.moni.view.IXiangView;
import com.facebook.drawee.view.SimpleDraweeView;

import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class XiangActivity extends AppCompatActivity implements IXiangView ,IAddView{

    @BindView(R.id.xiang_img)
    SimpleDraweeView xiangImg;
    @BindView(R.id.xinga_title)
    TextView xingaTitle;
    @BindView(R.id.xiang_price)
    TextView xiangPrice;
    private int uid;
    private List<RightRecyBean.DataBean.ListBean> list;
    private int pid;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_xiang);
        ButterKnife.bind(this);
        //找到控件
        Intent intent = getIntent();
        //得到intent得到pid  得不到为0
        int pid = intent.getIntExtra("pid", 0);
        XiangPresenter xiangPresenter = new XiangPresenter(this);
        xiangPresenter.getXMdata(pid + "");
        //取出UID
        SharedPreferences shop = getSharedPreferences("shop", MODE_PRIVATE);
        uid = shop.getInt("uid", 0);
        //如果等于o未登录 跳转登录页面
        if(uid==0){
            Intent intent1=new Intent(XiangActivity.this,MainActivity.class);
            startActivity(intent1);
        }
    }


    //请求的数据
    @Override
    public void getXdata(XiangqingBean xiangqingBean) {
        XiangqingBean.DataBean xdata = xiangqingBean.getData();

        if(xdata!=null) {
            pid = xdata.getPid();
            String title = xdata.getTitle();
            String subhead = xdata.getSubhead();
            double price = xdata.getPrice();
            String images = xdata.getImages();
            String[] split = images.split("\\|");
            xiangImg.setImageURI(Uri.parse(split[0]));
            xingaTitle.setText(title);
            xiangPrice.setText("¥"+price + "");
        }else{
            Toast.makeText(XiangActivity.this,"此商品已被移除",Toast.LENGTH_SHORT).show();

        }
    }

    @OnClick(R.id.xiang_shop)
    public void onViewClicked() {
        //创建p        AddPresenter addPresenter=new AddPresenter(this);
        addPresenter.getAddMdata(pid+"",uid+"","android");

    }

    @Override
    public void getMdata(AddBean addBean) {
        //成功吐司
        String msg = addBean.getMsg();

        Toast.makeText(XiangActivity.this,msg,Toast.LENGTH_SHORT).show();
    }


}

 
 
 
 
 

猜你喜欢

转载自blog.csdn.net/lucky_7777777/article/details/80189160
今日推荐