RecyelerView适配和点击事件

//适配器————————————

package com.example.a1508bnsg.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.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.example.a1508bnsg.R;
import com.example.a1508bnsg.bean.GoodListBean;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.List;

/**
 * Created by C-PC on 2017/10/21.
 */

public class GoodsListRvAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{
    private Context context;
    private List<GoodListBean.DatasBean.GoodsListBean> list;
    private OnGoodsListener onGoodsListener;

    public interface OnGoodsListener {
        public void onChildItemClick(GoodListBean.DatasBean.GoodsListBean goodsListBean);
    }

    public void setOnGoodsListener(OnGoodsListener onGoodsListener) {
        this.onGoodsListener = onGoodsListener;
    }



    public GoodsListRvAdapter(Context context, List<GoodListBean.DatasBean.GoodsListBean> list) {
        this.context = context;
        this.list = list;
    }

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

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
        GoodListBean.DatasBean.GoodsListBean goodsListBean = list.get(position);
        MyViewHolder myViewHolder= (MyViewHolder) holder;
        ImageLoader.getInstance().displayImage(goodsListBean.getGoods_image_url(),myViewHolder.tv);
        myViewHolder.tv_text.setText(goodsListBean.getGoods_name());
        myViewHolder.tv_price.setText("¥"+goodsListBean.getGoods_price());
        myViewHolder.tv_num.setText("已售:"+goodsListBean.getEvaluation_count()+"件");
        myViewHolder.ll.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                onGoodsListener.onChildItemClick(list.get(position));
            }
        });
    }

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

    class MyViewHolder extends RecyclerView.ViewHolder{

;
        private final TextView tv_text;
        private final TextView tv_price;
        private final TextView tv_num;
        private final ImageView tv;
        private final LinearLayout ll;

        public MyViewHolder(View itemView) {
            super(itemView);
            tv = itemView.findViewById(R.id.tv);
            tv_text = itemView.findViewById(R.id.tv_text);
            tv_price = itemView.findViewById(R.id.tv_price);
            tv_num = itemView.findViewById(R.id.tv_num);
            ll = itemView.findViewById(R.id.ll);
        }
    }
}

//actyvity____
package com.example.a1508bnsg.activity;

import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;

import com.example.a1508bnsg.R;
import com.example.a1508bnsg.adapter.GoodsListRvAdapter;
import com.example.a1508bnsg.bean.BaseBean;
import com.example.a1508bnsg.bean.GoodListBean;
import com.example.a1508bnsg.net.HttpUtils;
import com.example.a1508bnsg.net.OnNetListener;

import java.util.List;

public class GoodsListActivity extends AppCompatActivity implements View.OnClickListener {

    private ImageView mImageView4;
    private RecyclerView mRv;
    private List<GoodListBean.DatasBean.GoodsListBean> goods_list;
    private SwipeRefreshLayout swipe_container;
    private String gcid;
    private LinearLayout mLl;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_goods_list);
        initView();
        Intent intent = getIntent();
        gcid = intent.getStringExtra("gcid");
        //Toast.makeText(this, gcid + "wwwwwwwwww", Toast.LENGTH_LONG).show();
        getGoodslist();

    }


    private void getGoodslist() {
        String url = String.format("http://169.254.193.19/mobile/index.php?act=goods&op=goods_list&page=100&gc_id=%s", gcid);
        //String url = String.format("http://192.168.137.139/mobile/index.php?act=goods&op=goods_list&page=100&gc_id=%s", gcid);
        HttpUtils.getInstance().doget(url, GoodListBean.class, new OnNetListener() {
            @Override
            public void onSuccess(BaseBean baseBean) {
                GoodListBean goodListBean = (GoodListBean) baseBean;
                //Toast.makeText(GoodsListActivity.this, goodListBean.toString(), Toast.LENGTH_SHORT).show();
                goods_list = goodListBean.getDatas().getGoods_list();
                mRv.setLayoutManager(new LinearLayoutManager(GoodsListActivity.this, LinearLayoutManager.VERTICAL, false));
                GoodsListRvAdapter goodsListRvAdapter = new GoodsListRvAdapter(GoodsListActivity.this, goods_list);
                mRv.setAdapter(goodsListRvAdapter);
                goodsListRvAdapter.setOnGoodsListener(new GoodsListRvAdapter.OnGoodsListener() {
                    @Override
                    public void onChildItemClick(GoodListBean.DatasBean.GoodsListBean goodsListBean) {
                        String goodsId = goodsListBean.getGoods_id();
                        Intent intent=new Intent(GoodsListActivity.this,FindActivity.class);
                        intent.putExtra("goodsid",goodsId);
                        startActivity(intent);
                    }
                });
                swipe_container.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
                    @Override
                    public void onRefresh() {
                        new Handler().postDelayed(new Runnable() {
                            @Override
                            public void run() {
                                // TODO Auto-generated method stub
                                swipe_container.setRefreshing(false);
                            }
                        }, 3000);
                    }
                });


            }

            @Override
            public void onError() {

            }
        });
    }

    private void initView() {
        mImageView4 = (ImageView) findViewById(R.id.imageView4);
        mRv = (RecyclerView) findViewById(R.id.rv);
        swipe_container = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
        mImageView4.setOnClickListener(this);
        mRv.setOnClickListener(this);
        mLl = (LinearLayout) findViewById(R.id.ll);
        mLl.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.imageView4:
                break;
            case R.id.rv:
                break;
            case R.id.ll:
                //Toast.makeText(GoodsListActivity.this,"点击了",Toast.LENGTH_LONG).show();
                break;
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值