RecyclerView简单多条目

来源:互联网 发布:淘宝被骗怎么办? 编辑:程序博客网 时间:2024/06/05 00:20
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);            }        }    }}