当前位置:网站首页>Use of recyclerview with viewbinding
Use of recyclerview with viewbinding
2022-07-02 23:07:00 【Automatic 2004 haojinhui】
RecyclerView combination ViewBinding Use
introduce ViewBinding
android {
compileSdk 32
defaultConfig {
... ...
viewBinding {
enabled = true
}
}
add to Adapter Sub layout
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#D05C5C" android:orientation="vertical" android:padding="16dp">
<TextView android:id="@+id/main_name" android:layout_width="match_parent" android:layout_height="wrap_content" android:text=" Xiao Wang " />
<TextView android:id="@+id/main_phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="123543123" />
</LinearLayout>
RecyclerViewAdapter Realization
import android.annotation.SuppressLint;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.example.recyclerview.databinding.ViewMainBinding;
import java.util.List;
public class MainAdapter extends RecyclerView.Adapter<MainAdapter.MainViewHolder> {
private static final String TAG = "MainAdapter";
private List<String> mList;
@SuppressLint("NotifyDataSetChanged")
public void setList(List<String> list) {
mList = list;
Log.e(TAG, "setList: " + mList);
notifyDataSetChanged();
}
@NonNull
@Override
public MainViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
ViewMainBinding binding = ViewMainBinding
.inflate(LayoutInflater.from(parent.getContext()), parent, false);
return new MainViewHolder(binding);
}
@SuppressLint("SetTextI18n")
@Override
public void onBindViewHolder(@NonNull MainViewHolder holder, int position) {
holder.binding.mainName.setText(" Xiao Ming : " + position);
holder.binding.mainPhone.setText(String.valueOf(position * 31321));
}
@Override
public int getItemCount() {
return mList == null ? 0 : mList.size();
}
static class MainViewHolder extends RecyclerView.ViewHolder {
final ViewMainBinding binding;
MainViewHolder(ViewMainBinding binding) {
super(binding.getRoot());
this.binding = binding;
}
}
}
边栏推荐
- Strictly abide by the construction period and ensure the quality, this AI data annotation company has done it!
- MySQL reset password, forget password, reset root password, reset MySQL password
- Splunk audit setting
- AES高級加密協議的動機闡述
- 创新实力再获认可!腾讯安全MSS获2022年度云原生安全守护先锋
- Qt QProgressBar详解
- [Solved] Splunk: Cannot get username when all users are selected“
- Uniapp wechat login returns user name and Avatar
- Jerry's fast touch does not respond [chapter]
- 海思3559万能平台搭建:在截获的YUV图像上旋转操作
猜你喜欢
Array advanced improvement
归并排序详解及应用
[hardware] origin of standard resistance value
[Solved] Splunk: Cannot get username when all users are selected“
Typical case of data annotation: how does jinglianwen technology help enterprises build data solutions
情感对话识别与生成简述
Qt QScrollArea
海思 VI接入视频流程
AES高級加密協議的動機闡述
Xiaopeng P7 had an accident and the airbag did not pop up. Is this normal?
随机推荐
Qt QSplitter拆分器
MySQL reset password, forget password, reset root password, reset MySQL password
Stop slave is stuck -- the event of the transaction is not copied completely
损失函数~
數據分析學習記錄--用EXCEL完成簡單的單因素方差分析
静态文件显示问题
[Solved] Splunk: Cannot get username when all users are selected“
LeetCode 968. Monitor binary tree
情感对话识别与生成简述
Motivation du Protocole de chiffrement avancé AES
Xshell configuration xforward forwarding Firefox browser
[leetcode] reverse string [344]
Go language sqlx library operation SQLite3 database addition, deletion, modification and query
AES高级加密协议的动机阐述
psnr,ssim,rmse三个指标的定量分析
Qt QScrollArea
Construction of Hisilicon 3559 universal platform: rotation operation on the captured YUV image
Looking at Ctrip's toughness and vision from the Q1 financial report in 2022
LeetCode 968. 监控二叉树
[Yangcheng cup 2020] easyphp