依赖
implementation 'com.github.bumptech.glide:glide:4.8.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
LinerActivity
public class LinerActivity extends AppCompatActivity {
private RecyclerView recycler_view;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_liner);
recycler_view = findViewById(R.id.recycler_View);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
linearLayoutManager.setOrientation(OrientationHelper.VERTICAL);
recycler_view.setLayoutManager(linearLayoutManager);
LinerAdapter Adapter = new LinerAdapter();
for (int i = 0; i < 10; i++) {
User user = new User();
user.setName("张"+i);
Adapter.addItem(user);
}
recycler_view.setAdapter(Adapter);
recycler_view.setItemAnimator(new DefaultItemAnimator());
}
}
LinerAdapter
public class LinerAdapter extends RecyclerView.Adapter<LinerAdapter.VH>{
private final List<User> mDatas;
public void addItem(User user) {
if (user!=null){
mDatas.add(user);
}
}
public LinerAdapter() {
this.mDatas = new ArrayList<>();
}
@NonNull
@Override
public VH onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View inflate = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.linerlayout,viewGroup,false);
return new VH(inflate);
}
@Override
public void onBindViewHolder(@NonNull VH vh, int i) {
User user = mDatas.get(i);
vh.title.setText(user.getName());
vh.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
@Override
public int getItemCount() {
return mDatas.size();
}
public static class VH extends RecyclerView.ViewHolder {
private final TextView title;
private final ImageView avatar;
public VH(@NonNull View itemView) {
super(itemView);
title = itemView.findViewById(R.id.title);
avatar = itemView.findViewById(R.id.avatar);
}
}
}
布局
LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
ImageView
android:id="@+id/avatar"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@mipmap/ic_launcher"/>
TextView
android:id="@+id/title"
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center_vertical"/>
/LinearLayout>