package soexample.umeng.com.app2;
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.List;
public class MyAdapter extends RecyclerView.Adapter {
private List<MoreBean.ItemsBean> list;
private Context context;
public MyAdapter(List<MoreBean.ItemsBean> list, Context context) {
this.list = list;
this.context = context;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = null;
RecyclerView.ViewHolder viewHolder = null;
switch (viewType){
case 0:
view = View.inflate(context,R.layout.itemone_layout,null);
viewHolder = new MyViewHodler(view);
break;
case 1:
view = View.inflate(context,R.layout.itemtwo_layout,null);
viewHolder = new MyViewHodlerTwo(view);
break;
case 2:
view = View.inflate(context,R.layout.itemthree_layout,null);
viewHolder = new MyViewHodlerThree(view);
break;
}
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
if (holder instanceof MyViewHodler){
((MyViewHodler) holder).textView.setText(list.get(position).getTitle());
Glide.with(context).load(list.get(position).getImage()).into(((MyViewHodler) holder).imageView);
}else if(holder instanceof MyViewHodlerTwo){
Glide.with(context).load(list.get(position).getImages().get(0).getPic()).into(((MyViewHodlerTwo) holder).imageViewOne);
Glide.with(context).load(list.get(position).getImages().get(1).getPic()).into(((MyViewHodlerTwo) holder).imageViewTwo);
Glide.with(context).load(list.get(position).getImages().get(2).getPic()).into(((MyViewHodlerTwo) holder).imageViewThree);
}else{
((MyViewHodlerThree)holder).textViewThree.setText(list.get(position).getTitle());
}
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public int getItemViewType(int position) {
return list.get(position).getType();
}
class MyViewHodler extends RecyclerView.ViewHolder{
ImageView imageView;
TextView textView;
public MyViewHodler(View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.item_one_image_view);
textView = itemView.findViewById(R.id.item_one_text_tiele);
}
}
class MyViewHodlerTwo extends RecyclerView.ViewHolder{
ImageView imageViewOne,imageViewTwo,imageViewThree;
public MyViewHodlerTwo(View itemView) {
super(itemView);
imageViewOne = itemView.findViewById(R.id.item_two_image_view_one);
imageViewTwo = itemView.findViewById(R.id.item_two_image_view_two);
imageViewThree = itemView.findViewById(R.id.item_two_image_view_three);
}
}
class MyViewHodlerThree extends RecyclerView.ViewHolder{
TextView textViewThree;
public MyViewHodlerThree(View itemView) {
super(itemView);
textViewThree = itemView.findViewById(R.id.item_three_text_view);
}
}
}
package soexample.umeng.com.app2;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import android.view.View;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private String url = "https://code.aliyun.com/598254259/FristProject/raw/master/bw_list.txt";
private RecyclerView main_recycler_view;
private List<MoreBean.ItemsBean> list = new ArrayList<>();
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
main_recycler_view = findViewById(R.id.main_Recycler_View);
StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
main_recycler_view.setLayoutManager(linearLayoutManager);
doHttp();
}
private void doHttp() {
new OkHttp().get(url).setNetCallBack(new OkHttp.NetCallBack() {
@Override
public void onSuccess(String result) {
Gson gson = new Gson();
MoreBean moreBean = gson.fromJson(result, MoreBean.class);
list = moreBean.getItems();
MyAdapter adapter = new MyAdapter(list,MainActivity.this);
main_recycler_view.setAdapter(adapter);
}
});
}
}