android databinding RecyclerView / ListView
来源:互联网 发布:js eval函数 json 编辑:程序博客网 时间:2024/05/16 19:10
databinding 入门
https://academy.realm.io/cn/posts/data-binding-android-boyar-mount/
https://github.com/LyndonChin/MasteringAndroidDataBinding
recyclerview
RecyclerView.Adapter使用DataBinding
https://yanlu.me/android-databinding-tutorial-02/
以 RecyclerView 为例,Adapter 的 DataBinding 需要动态生成,
https://github.com/LyndonChin/MasteringAndroidDataBinding#dynamic-variables
极简的Android RecyclerView Adapter(使用DataBinding)
http://www.cnblogs.com/DoNetCoder/p/7243878.html
RecyclerView使用Android DataBinding( 英文)( 翻译后,代码不乱)
https://www.androidgig.com/recyclerview-with-android-databinding/
Android数据绑定:RecyclerView
减少,重复使用,重新绑定
https://medium.com/google-developers/android-data-binding-recyclerview-db7c40d9f0e4
listview
adapter代码
public class ReUseArrayAdapter<T> extends ArrayAdapter<T> { protected Context mContext; // 上下文 protected LayoutInflater mLayoutInflater; // 布局解析 protected int mResource; // xml id protected List<T> mList; // 数据集合 protected int mVariableId; // BR.xxx 例User public ReUseArrayAdapter(@NonNull Context context, @LayoutRes int resource, int variableId) { this(context, resource, new ArrayList<T>(), variableId); } public ReUseArrayAdapter(@NonNull Context context, @LayoutRes int resource, @NonNull List<T> objects, int variableId) { super(context, resource, objects); this.mContext = context; this.mLayoutInflater = LayoutInflater.from(mContext); this.mResource = resource; this.mList = objects; this.mVariableId = variableId; } @NonNull @Override public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {// inflate生成View,然后DataBindingUtil.bind(itemView)创建DataBinding// 或者// RecyclerItemViewBinding.inflate()生成DataBinding,然后binding.getRoot()得到View @SuppressLint("ViewHolder") // 方式一 ViewDataBinding binding = DataBindingUtil.inflate(mLayoutInflater, mResource, parent, false); binding.setVariable(mVariableId, mList.get(position)); binding.executePendingBindings();// @SuppressLint("ViewHolder") // 方式二// ViewDataBinding bind = DataBindingUtil.bind(mLayoutInflater.inflate(mResource, parent, false));// bind.setVariable(mVariableId, mList.get(position));// bind.executePendingBindings(); return binding.getRoot(); }}
使用示例
mBinding = DataBindingUtil.setContentView(this, R.layout.activity_main); ReUseArrayAdapter<UnsplashImg> adapter = new ReUseArrayAdapter<>( MainActivity.this, R.layout.item_main_image, BR.beanImg); mBinding.setAdapter(adapter); // 网络请求, 获取数据之后 mBinding.getAdapter().addAll(unsplashImgList.subList(200, 300)); // 添加数据 mBinding.getAdapter().notifyDataSetChanged(); // 通知更新UI
标记
http://www.aspku.com/kaifa/android/204120.html
此网站databinding listview 写法, 非正确写法,
会导致图片错乱问题
end
- android databinding RecyclerView / ListView
- android databinding recyclerview多种itembinding
- android Databinding在RecyclerView中的应用
- Android Databinding 与 RecyclerView 完美结合
- Android 用Databinding写recyclerview的adapter
- Android Filter ListView, RecyclerView
- Android ListView与RecyclerView
- Android官方DataBinding(三):RecyclerView 使用ViewDataBinding更新数据
- RecyclerView 和 DataBinding
- 通用RecyclerView和DataBinding
- Android RecyclerView实现listview效果
- [Android]使用RecyclerView替代ListView
- Android viewHolder缓存RecyclerView,ListView
- Android ListView和RecyclerView常见问题
- android listview 替代品recyclerview详解
- databinding listview/RecyclerView的item布局文件中如何加载res中的图片
- Android开发-数据绑定-DataBinding-AndroidStudio(五)ListView实现
- Android DataBinding
- POJ
- 编程练习2——03
- hdu--6078--Wavel Sequence(dp)
- android屏幕旋转,但是不重建生命周期
- 使用gcov和lcov测试代码覆盖率
- android databinding RecyclerView / ListView
- 一个小demo
- 短信验证码
- 工厂模式
- 排序3——堆排序,归并排序,快速排序
- 两种Linux系统安装方式:预装和非预装
- 2054数据结构实验之链表九:双向链表
- Java返回语句-return
- JAVA 第七章集合(五)