rxjava小项目

//添加依赖
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'io.reactivex.rxjava2:rxjava:2.1.7'
compile 'com.squareup.retrofit2:adapter-rxjava2:2.3.0'
compile 'com.facebook.fresco:fresco:1.5.0'
compile 'com.youth.banner:banner:1.4.10'
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'org.greenrobot:eventbus:3.0.0'
compile 'com.hjm:BottomTabBar:1.1.1'
compile 'com.android.support:recyclerview-v7:26.0.0-alpha1'
//设置全局
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CAMERA" />

<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_LOGS" />
 
//倒计时三秒进入

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@mipmap/b1i"

    >
</LinearLayout>
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        final Intent intent = new Intent(MainActivity.this,Main2Activity.class);
        Timer timer = new Timer();
        TimerTask task = new TimerTask() {
            @Override
            public void run() {
                //开始运行
                startActivity(intent);
                finish();

            }
        };

        timer.schedule(task,3000);


    }
}

//RXjava的操作
第一个类
public interface OnNetListine<T> {
    void onSucc(T t);
    void onFile(String str);
}

第二个类rx调用请求
public class RetrofitHolder {
    private static OkHttpClient okHttpClient;
    private static ServesApi servesApi;
    static {
        initRetrofitHolder();
    }
    private static void initRetrofitHolder(){
        if(okHttpClient==null){
            synchronized (RetrofitHolder.class){
                if(okHttpClient==null){
                    okHttpClient=new OkHttpClient.Builder().build();
                }
            }
        }
    }

    public static ServesApi getApi(){
        if(servesApi==null){
            synchronized (ServesApi.class){
                if(servesApi==null){
                    servesApi=RetrofitHolder.creatApi(ServesApi.class,UrlUtils.HOST);
                }
            }
        }
        return servesApi;
    }

    /**
     *
     * @param clazz
     * @param url
     * @param <T>
     * @return
     */
    public static <T> T creatApi(Class<T> clazz,String url){
        Retrofit retrofit = new Retrofit.Builder().baseUrl(UrlUtils.HOST)
                .addConverterFactory(GsonConverterFactory.create())
                .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
                .build();
        return retrofit.create(clazz);
    }

第三个类,存放路径
public interface ServesApi {
    @GET(UrlUtils.TAG)
    Flowable<UserBean> tags();

    @GET(UrlUtils.ZUO)
    Flowable<GoodsBean> goods(@Query("cid")String cid);

    @GET(UrlUtils.XIANG)
    Flowable<XiangQingBean> xiang(@Query("pscid") String pscid);

    @GET(UrlUtils.FEN)
    Flowable<ZiFenLeiXiangBean> ZiFenLeiXiang(@Query("pid") String pid,@Query("source") String str);//传公共参数

    @GET(UrlUtils.LUNBO)
    Flowable<LunBoBean> lunbo();

    @GET(UrlUtils.SOU)
    Flowable<SouSuoBean> sou(@Query("keywords") String keywords, @Query("source") String str);

    @GET(UrlUtils.ADD)
    Flowable<AddSBean> adds(@Query("pid") String pid, @Query("source") String str);

    @GET(UrlUtils.SELECT)
    Flowable<CartBean> selects(@Query("source") String str);

    @GET(UrlUtils.LOGIN)
    Flowable<LoginBean> login(@Query("mobile") String mo, @Query("password") String pas);

    @GET(UrlUtils.DELETETAG)
    Flowable<DeleteCartBean> delete(@Query("pid") String pid);


}
//第四个类,存放参数
public class UrlUtils {
    public static final String HOST = "http://120.27.23.105/";
    public static final String TAG="product/getCatagory";

    public static final String ZUO="product/getProductCatagory";

    public static final String XIANG="product/getProducts";

    //子分类下的详情
    public static final String FEN="product/getProductDetail";

    public static final String LUNBO="ad/getAd";

    //搜索
    public static final String SOU="product/searchProducts";

    //加入购物车
    public static final String ADD="product/addCart?uid=71";

    //查询购物车
    public static final String SELECT="product/getCarts?uid=71";

    //登录
    public static final String LOGIN="user/login";

    //删除购物车

    public static final String DELETETAG = "product/deleteCart?uid=71";

    //更新购物车
    public static final String UPDATA = "product/updateCarts?uid=71&sellerid=1&pid=1&selected=0&num=10";

}

net包Http封装
public class HttpUtils {
    private static HttpUtils httpUtils;

    private HttpUtils(){
    }

    public static HttpUtils getHttpUtils(){
        if(httpUtils==null){
            httpUtils = new HttpUtils();

        }
        return httpUtils;
    }



}
//进入主页布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="wuhao.bwei.com.wuhao11111111111.Main2Activity">

    <com.hjm.bottomtabbar.BottomTabBar
        android:id="@+id/bottom_tab_bar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true">

    </com.hjm.bottomtabbar.BottomTabBar>



</RelativeLayout>
方法
public class Main2Activity extends AppCompatActivity {
    private BottomTabBar mb;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        mb = (BottomTabBar) findViewById(R.id.bottom_tab_bar);
        mb.init(getSupportFragmentManager())
                .setImgSize(130,130)
                .setFontSize(0)
                .setTabPadding(4,6,10)
                .setChangeColor(Color.RED,Color.DKGRAY)
                .addTabItem("",R.mipmap.ac0,HomePageFragment.class)
                .addTabItem("",R.mipmap.abw, ClassifyFragment.class)
                .addTabItem("",R.mipmap.aby, DiscoverFragment.class)
                .addTabItem("",R.mipmap.abu, ShoppingFragment.class)
                .addTabItem("",R.mipmap.ac2, MyFragment.class)
                .isShowDivider(false)
                .setOnTabChangeListener(new BottomTabBar.OnTabChangeListener() {
                    @Override
                    public void onTabChange(int position, String name) {

                    }
                });
    }
}

fragment2分类布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="7">

       <android.support.v7.widget.RecyclerView
           android:id="@+id/rvv"
           android:layout_width="match_parent"
           android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>

    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_weight="3"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ExpandableListView
            android:id="@+id/elv"
            android:layout_weight="1"
            android:layout_width="match_parent"
            android:layout_height="match_parent">


        </ExpandableListView>


    </LinearLayout>




</LinearLayout>

fragment第个二类,分类的效果
public class ClassifyFragment extends Fragment implements ISuccessActivity,SetOnClicklistener,IClassActivity{
    private View view;
    private RecyclerView mRv;
    private ExpandableListView elv;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fm02, container, false);
        ShowPresenter showPrenester=new ShowPresenter(this);
        showPrenester.getData();
        initView(view);
        return view;
    }

    private void initView(View view) {
        mRv = (RecyclerView) view.findViewById(R.id.rvv);
        mRv.setLayoutManager(new LinearLayoutManager(getActivity()));
        elv = view.findViewById(R.id.elv);
    }



    @Override
    public void show(UserBean userBean) {

        ClassZuoAdapter classes = new ClassZuoAdapter(getActivity(),userBean.getData(),this);
        mRv.setAdapter(classes);
    }

    @Override
    public void OnClikLinter(String url) {
        //实例化p        ZuoPresenter zuop = new ZuoPresenter(this);
        zuop.getzuoshow(url);
        Toast.makeText(getActivity(),url,Toast.LENGTH_SHORT).show();
    }

    @Override
    public void showZuo(List<GoodsBean.DataBean> groupList, List<List<GoodsBean.DataBean.ListBean>> childList) {
        ZuoAdapter zuoAdapter = new ZuoAdapter(getActivity(),groupList,childList);
        elv.setAdapter(zuoAdapter);
        elv.setGroupIndicator(null);
        //默认让其全部展开
        for(int i = 0;i<groupList.size();i++){
            elv.expandGroup(i);
        }

    }
}
view层
public interface ISuccessActivity {
    public void show(UserBean userBean);
}

public interface IClassActivity {
    public void showZuo(List<GoodsBean.DataBean> groupList,List<List<GoodsBean.DataBean.ListBean>> childList);
}

m层
public interface IShowModel {
    public void shuju(OnNetListine<UserBean> onNetListine);
}



public class ShowModel implements IShowModel{

    @Override
    public void shuju(final OnNetListine<UserBean> onNetListine) {
        RetrofitHolder.getApi().tags()
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<UserBean>() {
                    @Override
                    public void accept(UserBean userBean) throws Exception {
                        onNetListine.onSucc(userBean);

                    }
                });


    }
}
P层
public class ShowPresenter {
    ISuccessActivity iSuccessActivity;
    ShowModel showModel;

    public ShowPresenter(ISuccessActivity iSuccessActivity) {
        this.iSuccessActivity = iSuccessActivity;
        showModel = new ShowModel();
    }
    public void getData(){
        showModel.shuju(new OnNetListine<UserBean>() {
            @Override
            public void onSucc(UserBean userBean) {
                iSuccessActivity.show(userBean);
            }

            @Override
            public void onFile(String str) {

            }
        });



    }
}

m层
public class ZuoModel {
    public void getzuo(String cid, final OnNetListine<GoodsBean> onNetListine){
        RetrofitHolder.getApi().goods(cid)
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<GoodsBean>() {
                    @Override
                    public void accept(GoodsBean goodsBean) throws Exception {
                        onNetListine.onSucc(goodsBean);
                    }
                });

    }



}

p层
public class ZuoPresenter {
    IClassActivity iClassActivity;
    ZuoModel zuoModel;

    public ZuoPresenter(IClassActivity iClassActivity) {
        this.iClassActivity = iClassActivity;
        zuoModel = new ZuoModel();
    }

    public void getzuoshow(String cid){
        zuoModel.getzuo(cid, new OnNetListine<GoodsBean>() {
            @Override
            public void onSucc(GoodsBean goodsBean) {
                List<GoodsBean.DataBean> data = goodsBean.getData();
                List<List<GoodsBean.DataBean.ListBean>> list = new ArrayList<List<GoodsBean.DataBean.ListBean>>();

                for(int i = 0;i<data.size();i++){
                    List<GoodsBean.DataBean.ListBean> list1 = data.get(i).getList();
                    list.add(list1);
                }

                iClassActivity.showZuo(data,list);

            }

            @Override
            public void onFile(String str) {

            }
        });




    }



}

//适配器
public class ClassZuoAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
    private Context context;
    private List<UserBean.DataBean> list;
    private SetOnClicklistener setOnClicklistener;
    private LayoutInflater inflater;

    public ClassZuoAdapter(Context context, List<UserBean.DataBean> list, SetOnClicklistener setOnClicklistener) {
        this.context = context;
        this.list = list;
        this.setOnClicklistener = setOnClicklistener;
        inflater = LayoutInflater.from(context);
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        //设置布局
        View view = inflater.inflate(R.layout.classzuo_item, parent, false);
        MyViewHolder myViewHolder = new MyViewHolder(view);
        return myViewHolder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        //绑定布局
        MyViewHolder myViewHolder = (MyViewHolder) holder;
        final UserBean.DataBean dataBean = list.get(position);
        myViewHolder.tv.setText(dataBean.getName());
        myViewHolder.rel.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setOnClicklistener.OnClikLinter(dataBean.getCid()+"");
            }
        });


    }

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

    class MyViewHolder extends RecyclerView.ViewHolder{

        private TextView tv;
        private RelativeLayout rel;

        public MyViewHolder(View itemView) {
            super(itemView);
            tv = itemView.findViewById(R.id.tv);
            rel = itemView.findViewById(R.id.rel);
        }
    }


}

第二个适配器
public class ZuoAdapter extends BaseExpandableListAdapter{
    private Context context;
    private List<GoodsBean.DataBean> grouplist;
    private List<List<GoodsBean.DataBean.ListBean>> childlist;
    private LayoutInflater inflater;

    public ZuoAdapter(Context context, List<GoodsBean.DataBean> grouplist, List<List<GoodsBean.DataBean.ListBean>> childlist) {
        this.context = context;
        this.grouplist = grouplist;
        this.childlist = childlist;
        inflater=LayoutInflater.from(context);
    }

    @Override
    public int getGroupCount() {
        return grouplist.size();
    }

    @Override
    public int getChildrenCount(int groupPosition) {
        return childlist.get(groupPosition).size();
    }

    @Override
    public Object getGroup(int groupPosition) {
        return grouplist.get(groupPosition);
    }

    @Override
    public Object getChild(int groupPosition, int childPosition) {
        return childlist.get(groupPosition).get(childPosition);
    }

    @Override
    public long getGroupId(int groupPosition) {
        return groupPosition;
    }

    @Override
    public long getChildId(int groupPosition, int childPosition) {
        return childPosition;
    }

    @Override
    public boolean hasStableIds() {
        return false;
    }

    @Override
    public View getGroupView(final int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
        View view;
        GroupViewHolder holder;
        if(convertView==null){
            holder=new GroupViewHolder();
            view=inflater.inflate(R.layout.group_item,null );
            holder.tv_group=view.findViewById(R.id.tv_group);
            view.setTag(holder);
        }else{
            view=convertView;
            holder= (GroupViewHolder) view.getTag();
        }
        GoodsBean.DataBean dataBean = grouplist.get(groupPosition);
        holder.tv_group.setText(dataBean.getName());
        return view;
    }

    @Override
    public View getChildView(final int groupPosition, final int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
        View view;
        ChildViewHolder holder;
        if(convertView==null){
            holder=new ChildViewHolder();
            view=inflater.inflate(R.layout.child_item,null);
            holder.rv=view.findViewById(R.id.rv);
            view.setTag(holder);
        }else{
            view=convertView;
            holder= (ChildViewHolder) view.getTag();
        }
        List<GoodsBean.DataBean.ListBean> listBeans = childlist.get(groupPosition);
        holder.rv.setLayoutManager(new GridLayoutManager(context,3));//设置布局管理器
        //设置适配器
        ElvRvAdapter elvRvAdapter = new ElvRvAdapter(context, listBeans);
        holder.rv.setAdapter(elvRvAdapter);
        elvRvAdapter.setOnItemClickListener(new ElvRvAdapter.OnItemClickListener() {
            @Override
            public void onItemClick(GoodsBean.DataBean.ListBean listBean) {
                Intent intent = new Intent(context, XiangQingActivity.class);
                intent.putExtra("pscid",listBean.getPscid()+"");
                context.startActivity(intent);
            }
        });
        return view;
    }

    @Override
    public boolean isChildSelectable(int groupPosition, int childPosition) {
        return true;
    }

    class GroupViewHolder{
        TextView tv_group;
    }
    class ChildViewHolder{
        RecyclerView rv;
    }


}

fragment1的布局
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <com.youth.banner.Banner
            android:id="@+id/home_banner"
            android:layout_width="match_parent"
            android:layout_height="250dp">
            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="50dp">

                <EditText
                    android:id="@+id/editText"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignBottom="@+id/textView3"
                    android:layout_marginLeft="20dp"
                    android:layout_marginStart="20dp"
                    android:layout_toEndOf="@+id/textView3"
                    android:layout_toRightOf="@+id/textView3"
                    android:ems="10"
                    android:hint="请输入关键字"
                    android:inputType="textPersonName" />

                <ImageView
                    android:id="@+id/imageView"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_centerVertical="true"
                    android:layout_toEndOf="@+id/textView3"
                    android:layout_toRightOf="@+id/textView3"
                    app:srcCompat="@mipmap/search_icon2" />

                <ImageView
                    android:id="@+id/imageView2"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:layout_alignParentStart="true"
                    android:layout_alignParentTop="true"
                    android:layout_marginLeft="12dp"
                    android:layout_marginStart="12dp"
                    app:srcCompat="@mipmap/sao_kind" />

                <TextView
                    android:id="@+id/textView3"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignLeft="@+id/imageView2"
                    android:layout_alignParentBottom="true"
                    android:layout_alignStart="@+id/imageView2"
                    android:text="扫啊扫" />

                <Button
                    android:id="@+id/but_sou"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentEnd="true"
                    android:layout_alignParentRight="true"
                    android:layout_alignParentTop="true"
                    android:text="搜索" />

            </RelativeLayout>
        </com.youth.banner.Banner>
        <android.support.v7.widget.RecyclerView
            android:id="@+id/home_rev"
            android:layout_width="match_parent"
            android:layout_height="200dp"/>
        <LinearLayout

            android:layout_width="match_parent"
            android:background="#f10101"
            android:gravity="center_horizontal"
            android:orientation="horizontal"
            android:layout_height="wrap_content">
            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#060606"
                android:textSize="20dp"
                android:text="为你推荐"
                />
        </LinearLayout>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/weini_rv"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>

    </LinearLayout>



</ScrollView>

fragment1的方法
public class HomePageFragment extends Fragment implements IlunBo,ISuccessActivity, View.OnClickListener {
    private View view;
    private Banner mHomeBanner;

    private List<String> listimg = new ArrayList<>();
    private RecyclerView mHomeRev;
    private RecyclerView mWeiniRv;
    /**
     * 请输入关键字
     */
    private EditText mEditText;
    private ImageView mImageView;
    private ImageView mImageView2;
    /**
     * 扫啊扫
     */
    private TextView mTextView3;
    /**
     * 搜索
     */
    private Button mButSou;
    private LunBoPresenter lunBoPrenester;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fm01_item, container, false);
        initView(view);
        lunBoPrenester = new LunBoPresenter(this);
        lunBoPrenester.getShowLunNo();

        ShowPresenter showPrenester = new ShowPresenter(this);
        showPrenester.getData();
        return view;
    }
    private void initView(View view) {
        mHomeBanner = (Banner) view.findViewById(R.id.home_banner);
        mHomeRev = (RecyclerView) view.findViewById(R.id.home_rev);
        mHomeRev.setLayoutManager(new GridLayoutManager(getActivity(), 5));
        mWeiniRv = (RecyclerView) view.findViewById(R.id.weini_rv);
        mWeiniRv.setLayoutManager(new GridLayoutManager(getActivity(), 2));
        mEditText = (EditText) view.findViewById(R.id.editText);
        mImageView = (ImageView) view.findViewById(R.id.imageView);
        mImageView2 = (ImageView) view.findViewById(R.id.imageView2);
        mTextView3 = (TextView) view.findViewById(R.id.textView3);
        mButSou = (Button) view.findViewById(R.id.but_sou);
        mButSou.setOnClickListener(this);
        mImageView2.setOnClickListener(this);
    }
    @Override
    public void showLunBo(LunBoBean lunBoBean) {
        WeiNiAdapter weiNiAdapter = new WeiNiAdapter(getActivity(),lunBoBean.getTuijian().getList());
        mWeiniRv.setAdapter(weiNiAdapter);
        List<LunBoBean.DataBean> data = lunBoBean.getData();
        for(int i = 0;i<data.size();i++){
            LunBoBean.DataBean dataBean = data.get(i);
            listimg.add(dataBean.getIcon());
        }
        mHomeBanner.setImageLoader(new GlideImageLoader());
        mHomeBanner.setImages(listimg);
        mHomeBanner.start();

    }

    @Override
    public void onClick(View view) {
        switch (view.getId()){
            default:
                break;
            case R.id.but_sou:
                String s = mEditText.getText().toString();
                if(TextUtils.isEmpty(s)){
                    Toast.makeText(getActivity(),"搜索框不能为空",Toast.LENGTH_LONG).show();

                }else{
                    Intent intent = new Intent(getActivity(), SuoSuoActivity.class);
                    intent.putExtra("sou",s);
                    startActivity(intent);

                }
                break;



        }



    }

    @Override
    public void show(UserBean userBean) {
        HomeAdapter homeAdapter = new HomeAdapter(getActivity(),userBean.getData());
        mHomeRev.setAdapter(homeAdapter);

    }
}

view层

public interface IlunBo {
    public void showLunBo(LunBoBean lunBoBean);
}

public interface ISuccessActivity {
    public void show(UserBean userBean);
}

m层
public class LunBoModel {
    public void getlunbo(final OnNetListine<LunBoBean> onNetListine){
        RetrofitHolder.getApi().lunbo()
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe(new Consumer<LunBoBean>() {
                    @Override
                    public void accept(LunBoBean lunBoBean) throws Exception {
                        onNetListine.onSucc(lunBoBean);

                    }
                });



    }


}
p层
public class LunBoPresenter {
    IlunBo ilunBo;
    LunBoModel lunBoModel;

    public LunBoPresenter(IlunBo ilunBo) {
        this.ilunBo = ilunBo;
        lunBoModel = new LunBoModel();
    }

    public void getShowLunNo(){
        lunBoModel.getlunbo(new OnNetListine<LunBoBean>(){


            @Override
            public void onSucc(LunBoBean lunBoBean) {
                ilunBo.showLunBo(lunBoBean);
            }

            @Override
            public void onFile(String str) {

            }
        });



    }


}

//适配器

public class WeiNiAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
    private Context context;
    private List<LunBoBean.TuijianBean.ListBean> list;
    private LayoutInflater inflater;

    public WeiNiAdapter(Context context, List<LunBoBean.TuijianBean.ListBean> list) {
        this.context = context;
        this.list = list;
        inflater = LayoutInflater.from(context);

    }





    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        final View view = inflater.inflate(R.layout.weini_item, parent, false);
        MyViewHolder myViewHolder = new MyViewHolder(view);
        return myViewHolder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        final LunBoBean.TuijianBean.ListBean listBean = list.get(position);
        final String[] split = listBean.getImages().split("\\|");
        MyViewHolder myViewHolder = (MyViewHolder) holder;
        myViewHolder.home_image.setImageURI(split[0]);
        myViewHolder.home_tv.setText(listBean.getTitle());
        myViewHolder.home_tv_price.setText(""+listBean.getPrice()+"");

    }

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

    class MyViewHolder extends RecyclerView.ViewHolder{
        private  SimpleDraweeView home_image;
        private TextView home_tv;
        private  TextView home_tv_price;

        public MyViewHolder(View itemView) {
            super(itemView);
            home_image = itemView.findViewById(R.id.home_item_image);
            home_tv = itemView.findViewById(R.id.home_item_tv);
            home_tv_price = itemView.findViewById(R.id.weini_tv_price);

        }
    }


}

第二个适配器
public class HomeAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
    private Context context;
    private List<UserBean.DataBean> list;
    private LayoutInflater inflater;

    public HomeAdapter(Context context, List<UserBean.DataBean> list) {
        this.context = context;
        this.list = list;
        inflater = LayoutInflater.from(context);
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        final View view = inflater.inflate(R.layout.home_item, parent, false);
        MyViewHolder myViewHolder = new MyViewHolder(view);
        return myViewHolder;
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
        final UserBean.DataBean dataBean = list.get(position);
        MyViewHolder myViewHolder = (MyViewHolder) holder;
        myViewHolder.home_image.setImageURI(dataBean.getIcon());
        myViewHolder.home_tv.setText(dataBean.getName());


    }

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

    class MyViewHolder extends RecyclerView.ViewHolder{
        private SimpleDraweeView home_image;
        private TextView home_tv;


        public MyViewHolder(View itemView) {
            super(itemView);
            home_image = itemView.findViewById(R.id.home_item_image);
            home_tv = itemView.findViewById(R.id.home_item_tv);

        }
    }
}





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值