展示适配器 布局接口回调

package com.example.huoxuebin.myapplication.Fragment;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;

;
import com.example.huoxuebin.myapplication.Adapter.RecyclerViewAdapter;
import com.example.huoxuebin.myapplication.Bean.SerachBean;
import com.example.huoxuebin.myapplication.Main2Activity;
import com.example.huoxuebin.myapplication.R;
import com.example.huoxuebin.myapplication.jiekou.IMF1;
import com.example.huoxuebin.myapplication.jiekou.OnItemClickListner;
import com.example.huoxuebin.myapplication.presenter.SerachPresenter;
import com.jcodecraeer.xrecyclerview.XRecyclerView;

import java.util.List;


/**
 * Created by huoxuebin on 2018/4/5.
 */

public  class F1 extends Fragment implements IMF1 {


    private ListView listView;
    private TextView name;
    private Button button;
    private String sname;
    private SerachPresenter serachPresenter;
    private XRecyclerView xRecyclerView;
    private  int page=1;
    private List<SerachBean.DataBean> data;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.f1, container, false);

        xRecyclerView = view.findViewById(R.id.xry);



        serachPresenter = new SerachPresenter(this);

        serachPresenter.getdata("product/getProducts",page);


        xRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
            @Override
            public void onRefresh() {
                Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        data.clear();
                        serachPresenter.getdata("product/getProducts",page);
                        xRecyclerView.refreshComplete();
                    }
                },2000);
            }

            @Override
            public void onLoadMore() {
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {

                        page++;
                        serachPresenter.getdata("product/getProducts",page);
                        xRecyclerView.loadMoreComplete();
                    }
                },2000);
            }
        });



        return view;
    }


    @Override
    public void onsuccess(final SerachBean serachBean) {

        getActivity().runOnUiThread(new Runnable() {
            @Override
            public void run() {


                data = serachBean.getData();

                Log.d("++++","---"+ data);

                //展示管理器

                //展示管理器
                xRecyclerView. setLayoutManager(new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false));
                //适配器
                RecyclerViewAdapter adapter = new RecyclerViewAdapter(data,getActivity());
                //进入详情页面
                adapter.setOnitemClickListner(new OnItemClickListner() {
                    @Override
                    public void OnItemClick(int position) {

                        int pid = data.get(position).getPid();

                        Intent intent = new Intent(getContext(),Main2Activity.class);
                        intent.putExtra("pid",pid);
                        startActivity(intent);
                    }
                });

                //开启适配器
                xRecyclerView.setAdapter(adapter);


            }
        });


    }
}

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




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


    </android.support.v7.widget.RecyclerView>-->

    <com.jcodecraeer.xrecyclerview.XRecyclerView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/xry"
        ></com.jcodecraeer.xrecyclerview.XRecyclerView>

</LinearLayout>


//适配器

package com.example.huoxuebin.myapplication.Adapter;

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

import com.bumptech.glide.Glide;
import com.example.huoxuebin.myapplication.Bean.SerachBean;
import com.example.huoxuebin.myapplication.Holder.ZhanshiHolder;
import com.example.huoxuebin.myapplication.R;
import com.example.huoxuebin.myapplication.jiekou.OnItemClickListner;

import java.util.List;

/**
 * Created by huoxuebin on 2018/4/7.
 */

public class RecyclerViewAdapter extends RecyclerView.Adapter<ZhanshiHolder> {

    private OnItemClickListner onitemClickListner;
    List<SerachBean.DataBean> data;
    Context context;



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

    @Override
    public ZhanshiHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.listview, parent, false);
        ZhanshiHolder holder = new ZhanshiHolder(view);
        return holder;
    }

    @Override
    public void onBindViewHolder(ZhanshiHolder holder, final int position) {


        //赋值
        //优惠价
        holder.zhekoujia.setText("优惠价"+data.get(position).getBargainPrice()+"");
        //价钱
        holder.price.setText("原价:"+data.get(position).getPrice()+"");
        //图片

        //分割
        String images = data.get(position).getImages();
        String[] split = images.split("\\|");
        //图片
        Glide.with(context).load(split[0]).into(holder.img);

        holder.title.setText(data.get(position).getTitle());

        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                onitemClickListner.OnItemClick(position);
            }
        });



    }

    @Override
    public int getItemCount() {
        return data.size();
    }
    public void setOnitemClickListner(OnItemClickListner onitemClickListner){
        this.onitemClickListner =onitemClickListner;
    }
}


//接口
package com.example.huoxuebin.myapplication.jiekou;

/**
 * Created by huoxuebin on 2018/1/19.
 */

public interface OnItemClickListner {

    void OnItemClick(int position);
}

 
//接口
package com.example.huoxuebin.myapplication.jiekou;

/**
 * Created by huoxuebin on 2018/1/19.
 */

public interface OnItemClicklistener {
    void OnItemClicklistener(int position);
}


//详情
package com.example.huoxuebin.myapplication;

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

import com.example.huoxuebin.myapplication.Bean.XiangqingBean;
import com.example.huoxuebin.myapplication.grlide.Grlide;
import com.example.huoxuebin.myapplication.utils.utils.BaseObserver;
import com.example.huoxuebin.myapplication.utils.utils.RetrofitManager;
import com.youth.banner.Banner;
import com.youth.banner.listener.OnBannerListener;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Main2Activity extends AppCompatActivity {
    private int pid;
    private TextView tiele;
    private TextView price;
    private TextView zhekou;
    private Banner banner;
    List<String> list = new ArrayList<>();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

        banner = findViewById(R.id.banner);
        tiele =  findViewById(R.id.x_title);
        price = findViewById(R.id.x_price);
        zhekou =  findViewById(R.id.x_zhekou);


        banner.setOnBannerListener(new OnBannerListener() {
            @Override
            public void OnBannerClick(int position) {
                Intent intent1 = new Intent(Main2Activity.this,Main3Activity.class);
                intent1.putStringArrayListExtra("list", (ArrayList<String>) list);
                startActivity(intent1);
            }
        });


        //接受值
        final Intent intent = getIntent();
        pid = intent.getIntExtra("pid", 0);
        Log.d("Tag","hhh"+ pid);

        Map<String,String> map = new HashMap<>();
        map.put("pid", String.valueOf(pid));
        RetrofitManager.get("product/getProductDetail", map, new BaseObserver<XiangqingBean>() {
            @Override
            public void success(XiangqingBean xiangqingBean) {

                String images = xiangqingBean.getData().getImages();
                final String name = xiangqingBean.getData().getTitle();
                final double sprice = xiangqingBean.getData().getPrice();
                final double bargainPrice = xiangqingBean.getData().getBargainPrice();

                //   Log.d("?????","aaaa"+images);

                String[] split = images.split("\\|");

                for(String string:split){

                    list.add(string);
                }
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {

                        //详情页面轮播
                        banner.setImageLoader(new Grlide());
                        banner.setDelayTime(3000);
                        banner.isAutoPlay(false);
                        banner.setImages(list);
                        banner.start();
                        //详情标题,价钱
                        tiele.setText(name);
                        price.setText("原价"+sprice+"");
                        zhekou.setText("优惠价"+bargainPrice+"");


                    }
                });



            }

            @Override
            public void failure(int code) {

            }
        });

    }
}
//布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.huoxuebin.myapplication.Main2Activity">


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:textSize="30dp"
       />


    <com.youth.banner.Banner
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="500dp">
    </com.youth.banner.Banner>

    <TextView
        android:id="@+id/x_title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="111"
        />
    <TextView
        android:id="@+id/x_price"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="111"


        />
    <TextView
        android:id="@+id/x_zhekou"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="111"
        android:textColor="#f00"


        />


    <Button
        android:onClick="shop"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="加入购物车"/>

</LinearLayout>

//依赖
compile 'com.android.support.constraint:constraint-layout:1.0.2'

compile 'com.jcodecraeer:xrecyclerview:1.5.9'
compile 'io.reactivex.rxjava2:rxjava:2.0.7'
compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:adapter-rxjava2:2.2.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
compile 'com.squareup.retrofit2:converter-scalars:2.1.0'

compile 'com.github.bumptech.glide:glide:3.6.1'
compile 'com.youth.banner:banner:1.4.9'
compile 'com.dou361.ijkplayer:jjdxm-ijkplayer:1.0.5'
testCompile 'junit:junit:4.12'
compile 'com.android.support:design:26.0.0-alpha1'
compile 'com.hjm:BottomTabBar:1.1.1'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值