MainActivity
package com.lixinyang.myrecycler_test; import android.annotation.SuppressLint; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import com.google.gson.Gson; import com.lixinyang.myrecycler_test.Adapters.MyAdapter; import com.lixinyang.myrecycler_test.Bean.Image; import com.lixinyang.myrecycler_test.Utils.HttpClin; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; public class MainActivity extends AppCompatActivity { private static final String TAG = "MainActivity-----"; String uri = "http://120.27.23.105/product/getCatagory"; private HttpClin httpClin; @SuppressLint("HandlerLeak") Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); String string = (String) msg.obj; Gson gson = new Gson(); Image image = gson.fromJson(string, Image.class); List<Image.DataBean> data = image.getData(); //Toast.makeText(MainActivity.this,data.get(0).getIcon(),Toast.LENGTH_SHORT).show(); rv.setLayoutManager(new LinearLayoutManager(MainActivity.this)); rv.setItemAnimator(new DefaultItemAnimator()); ImageLoader instance = ImageLoader.getInstance(); Log.d(TAG, "handleMessage() returned: " + "的开始------"); MyAdapter myAdapter = new MyAdapter(MainActivity.this,data,instance); rv.setAdapter(myAdapter); Log.d(TAG, "handleMessage() returned: " + "jieshu----"); } }; private RecyclerView rv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); rv = (RecyclerView) findViewById(R.id.rv); httpClin = new HttpClin(); netWork(); httpClin.onDatatext(new HttpClin.onData(){ @Override public void bb(String str) { //Toast.makeText(MainActivity.this,str, Toast.LENGTH_SHORT).show(); Log.d("TAG", "bb: "+str); Message msg = new Message(); msg.obj = str; handler.sendMessage(msg); } }); } public void netWork(){ httpClin.http(uri); } }Adapter
package com.lixinyang.myrecycler_test.Adapters; import android.content.Context; 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 com.lixinyang.myrecycler_test.Bean.Image; import com.lixinyang.myrecycler_test.R; import com.nostra13.universalimageloader.core.ImageLoader; import java.util.List; /** * author:Created by WangZhiQiang on 2017/12/29. */ public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyHolder> { private static final String TAG = "MyAdapter"; private ImageLoader instance; private List<Image.DataBean> list; private Context context; public MyAdapter(Context context, List<Image.DataBean> list,ImageLoader instance) { this.context = context; this.list = list; this.instance = instance; } //实例化ViewHolder把布局传过去 @Override public MyHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.activity_item, null); MyHolder myHolder = new MyHolder(view); return myHolder; } //绑定布局赋值 @Override public void onBindViewHolder(MyHolder holder, int position) { ImageView imageView = holder.getImageView(); //imageView.setImageResource(R.drawable.aa); // Toast.makeText(context,list.get(position).getIcon()+"",Toast.LENGTH_SHORT).show(); //ImageLoader instance = ImageLoader.getInstance(); instance.displayImage(list.get(position).getIcon(),imageView); //instance.displayImage("http://120.27.23.105/images/icon.png",imageView); Log.d(TAG, "onBindViewHolder() returned: " + instance + "---" + imageView); } @Override public int getItemCount() { //Log.e("-------",list.size()+""); return list.size(); } class MyHolder extends RecyclerView.ViewHolder{ private ImageView imageView; public MyHolder(View itemView) { super(itemView); this.imageView = itemView.findViewById(R.id.iv); } public ImageView getImageView() { return imageView; } public void setImageView(ImageView imageView) { this.imageView = imageView; } } }