package zhoukao1.bwie.com.day12.Acivity; import android.content.Context; import android.os.Handler; import android.os.Message; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.widget.TextView; import com.google.gson.Gson; import java.io.IOException; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import zhoukao1.bwie.com.day12.Atapter.MyAdapter; import zhoukao1.bwie.com.day12.Bean; import zhoukao1.bwie.com.day12.R; import zhoukao1.bwie.com.day12.mvp.view.IDeleage; public class MainActivityPersenter extends IDeleage { private String url = "https://code.aliyun.com/598254259/FristProject/raw/master/bw_list.txt"; private MyAdapter myAdapter; private RecyclerView mRecyclerView; @Override public int getLayoutid() { return R.layout.activity_main; } private RecyclerView recyclerView; private TextView textView; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { super.handleMessage(msg); String data = (String) msg.obj; Bean bean = new Gson().fromJson(data, Bean.class); myAdapter.setList(bean.getItems()); } }; @Override public void indata() { super.indata(); mRecyclerView = (RecyclerView) get(R.id.view); myAdapter = new MyAdapter(context); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(context); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); mRecyclerView.setLayoutManager(linearLayoutManager); mRecyclerView.setAdapter(myAdapter); doHttp(); } private void doHttp() { OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url(url) .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { Message message = Message.obtain(); message.obj = response.body().string(); handler.sendMessage(message); } }); } private Context context; @Override public void getContext(Context context) { this.context = context; } }
=========
package zhoukao1.bwie.com.day12.Atapter; import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import java.util.ArrayList; import java.util.List; import zhoukao1.bwie.com.day12.Bean; import zhoukao1.bwie.com.day12.R; public class MyAdapter extends RecyclerView.Adapter { private List<Bean.ItemsBean> list=new ArrayList<>(); private Context context; public MyAdapter(Context mainActivity) { context=mainActivity; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=null; RecyclerView.ViewHolder viewHolder=null; switch (viewType){ case 0: view=View.inflate(context,R.layout.recycler_item_0,null); viewHolder=new MyViewHolder(view); break; case 1: view=View.inflate(context,R.layout.recycler_item_1,null); viewHolder=new MyViewHolder2(view); break; case 2: view=View.inflate(context,R.layout.recycler_item_2,null); viewHolder=new MyViewHolder3(view); break; } return viewHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int i) { if(viewHolder instanceof MyViewHolder){ Glide.with(context).load(list.get( i).getImage()).into(((MyViewHolder)viewHolder).imageView); //Picasso.with(context).load(list.get(i).getImage()).fit().into(((MyViewHolder)viewHolder).imageView); ((MyViewHolder)viewHolder).tvTitle.setText(list.get(i).getTitle()); ((MyViewHolder)viewHolder).tvDesc.setText(list.get(i).getDesc()); }else if(viewHolder instanceof MyViewHolder2){ Glide.with(context).load(list.get(i).getImages().get(0).getPic()).into(((MyViewHolder2)viewHolder).image_1); Glide.with(context).load(list.get(i).getImages().get(1).getPic()).into(((MyViewHolder2)viewHolder).image_2); Glide.with(context).load(list.get(i).getImages().get(2).getPic()).into(((MyViewHolder2)viewHolder).image_3); }else { ((MyViewHolder3)viewHolder).mTitle.setText(list.get(i).getTitle()); } } @Override public int getItemCount() { return list.size(); } @Override public int getItemViewType(int position) { return list.get(position).getType(); } public void setList(List<Bean.ItemsBean> list) { this.list = list; notifyDataSetChanged(); } private class MyViewHolder extends RecyclerView.ViewHolder{ ImageView imageView; TextView tvTitle,tvDesc; public MyViewHolder(@NonNull View itemView) { super(itemView); imageView=(ImageView) itemView.findViewById(R.id.image); tvTitle=(TextView) itemView.findViewById(R.id.tv_title); tvDesc=(TextView) itemView.findViewById(R.id.tv_desc); } } private class MyViewHolder2 extends RecyclerView.ViewHolder{ ImageView image_1,image_2,image_3; public MyViewHolder2(@NonNull View itemView) { super(itemView); image_1=(ImageView)itemView.findViewById(R.id.image_1); image_2=(ImageView)itemView.findViewById(R.id.image_2); image_3=(ImageView)itemView.findViewById(R.id.image_3); } } private class MyViewHolder3 extends RecyclerView.ViewHolder{ TextView mTitle; public MyViewHolder3(@NonNull View itemView) { super(itemView); mTitle=(TextView)itemView.findViewById(R.id.tv_title); } } }