RecyclerView简单多条目

import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
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.ImageView;
import android.widget.TextView;
import android.widget.Toast;


import java.io.IOException;
import java.util.List;

import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;

public class ShowDataActivity extends AppCompatActivity {

    private RecyclerView recyc_view;
    private Handler handler  = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 1){
                String  obj = (String) msg.obj;
                Log.i("===","222222"+obj);
                final GoodsBean goodsBean = GoodsBean.objectFromData(obj);
                String code = goodsBean.getCode();
                if (code.equals("0")){
                    Log.i("===","3333333"+goodsBean.getData().get(0).getTitle()+"");
                  //  Toast.makeText(ShowDataActivity.this,"注册成功,正在跳转",Toast.LENGTH_SHORT).show();
                    datas = goodsBean.getData();
                    Log.i("datas",datas.get(0).getTitle());


                    recyc_view.setLayoutManager(new LinearLayoutManager(ShowDataActivity.this));
                    recyc_view.setAdapter(new MyAdapter());
                }
                else {
                    Toast.makeText(ShowDataActivity.this,"显示失败",Toast.LENGTH_SHORT).show();
                }
            }
        }
    };
    private List<GoodsBean.DataBean> datas;

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

        initData();
        OkUrl();

    }

    private void OkUrl() {
        String sousuo = Api.sousuo;
        OkHttp3Utils.doGet(sousuo, new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {}

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                String string = response.body().string();

                Message message = handler.obtainMessage();
                message.what =  1 ;
                message.obj = string;
                handler.sendMessage(message);
            }
        });
    }

    private void initData() {
        recyc_view = (RecyclerView) findViewById(R.id.recyc_view);
    }










    class  MyAdapter extends  RecyclerView.Adapter{

        public static final  int TYPE_ONE  = 1;
        public static final  int TYPE_TWO  = 2;


        @Override
        public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
            if (viewType == TYPE_ONE){
                View view= LayoutInflater.from(ShowDataActivity.this).inflate(R.layout.item,parent,false);
               // View view = View.inflate(ShowDataActivity.this, R.layout.item, null);
                MyViewHolder myViewHolder  = new MyViewHolder(view);
                return myViewHolder;
            }else{
                View view1=LayoutInflater.from(ShowDataActivity.this).inflate(R.layout.item2,parent,false);
             //   View view1 = View.inflate(ShowDataActivity.this, R.layout.item2, null);
                MyViewHolder2 myViewHolder2  = new MyViewHolder2(view1);

                return myViewHolder2;
            }

        }

        @Override
        public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
            if (holder instanceof MyViewHolder){
                ((MyViewHolder) holder).item_title.setText(datas.get(position).getTitle()+"");
                ((MyViewHolder) holder).item_price.setText("价格  : "+datas.get(position).getPrice()+"");
//                String images = datas.get(position).getImages();
//                Log.i("bbbbbbb",images);
//                String[] split = images.split("|");
//                Log.i("bbbbbbb",split[0]);
               Picasso.with(ShowDataActivity.this).load(datas.get(position).getImages()).into(((MyViewHolder) holder).item_iv);

            }
            if (holder instanceof  MyViewHolder2){
                ((MyViewHolder2) holder).item2_title.setText(datas.get(position).getTitle());
                ((MyViewHolder2) holder).item2_price.setText(datas.get(position).getPrice()+"");
                String images = datas.get(position).getImages();
                String[] split = images.split("\\|");
                Log.i("bbbbbbb--",split[0]);
               Picasso.with(ShowDataActivity.this).load(split[0]).into(((MyViewHolder2) holder).item2_iv);

            }
        }



        @Override
        public int getItemCount() {
            return datas == null ? 0: datas.size();
        }

        @Override
        public int getItemViewType(int position) {
            if (position % 2 == 0){
                return TYPE_ONE;
            }else {
                return TYPE_TWO;
            }
        }

        class MyViewHolder extends  RecyclerView.ViewHolder{

            private  ImageView item_iv;
            private  TextView item_price;
            private  TextView item_title;

            public MyViewHolder(View itemView) {
                super(itemView);
                item_iv = itemView.findViewById(R.id.item_iv);
                item_price = itemView.findViewById(R.id.item_price);
                item_title = itemView.findViewById(R.id.item_title);

            }
        }
        class MyViewHolder2 extends  RecyclerView.ViewHolder{

            private  ImageView item2_iv;
            private  TextView item2_price;
            private  TextView item2_title;

            public MyViewHolder2(View itemView) {
                super(itemView);
                item2_iv = itemView.findViewById(R.id.item2_iv);
                item2_price = itemView.findViewById(R.id.item2_price);
                item2_title = itemView.findViewById(R.id.item2_title);
            }
        }
    }
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值