在这里插入代码片
package com.bawei.weeklxone.adapter;
import android.content.Context;
import android.support.annotation.NonNull;
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 com.bawei.weeklxone.R;
import com.bawei.weeklxone.utils.OkHttpUtils;
import com.bumptech.glide.Glide;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
/**
*/
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
private JSONArray result;
private int TYPE1 = 0;
private int TYPE2 = 1;
public MyAdapter(Context context, JSONArray result) {
this.context = context;
this.result = result;
}
@Override
public int getItemViewType(int position) {
if(position%2==0){
return TYPE1;
}else{
return TYPE2;
}
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
int itemViewType = getItemViewType(i);
if (itemViewType==TYPE1){
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item1, null);
ViewHoldler1 viewHoldler1 = new ViewHoldler1(view);
return viewHoldler1;
}else if(itemViewType==TYPE2){
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item2, null);
ViewHoldler2 viewHoldler2 = new ViewHoldler2(view);
return viewHoldler2;
}
return null;
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
int itemViewType = getItemViewType(i);
if (itemViewType==TYPE1){
ViewHoldler1 viewHoldler1 = (ViewHoldler1) viewHolder;
try {
JSONObject jsonObject = result.getJSONObject(i);
String imageUrl = jsonObject.getString("imageUrl");
Glide.with(context).load(imageUrl).into(viewHoldler1.img);
} catch (Exception e) {
e.printStackTrace();
}
} else if(itemViewType==TYPE2){
ViewHoldler2 viewHoldler2 = (ViewHoldler2) viewHolder;
try {
JSONObject jsonObject = result.getJSONObject(i);
String title = jsonObject.getString("title");
Log.i("llll", "onBindViewHolder: "+title);
viewHoldler2.titl.setText(title);
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public int getItemCount() {
return result.length();
}
private class ViewHoldler1 extends RecyclerView.ViewHolder{
private final ImageView img;
public ViewHoldler1(@NonNull View itemView) {
super(itemView);
img = itemView.findViewById(R.id.img1);
}
}
private class ViewHoldler2 extends RecyclerView.ViewHolder{
private final TextView titl;
public ViewHoldler2(@NonNull View itemView) {
super(itemView);
titl = itemView.findViewById(R.id.titl);
}
}
}
RecycleView多条目
最新推荐文章于 2021-02-22 16:18:24 发布