Comments (6)
感谢提出来的问题,今天内给你答复。
from baserecyclerviewadapterhelper.
你好,你说的这个重新实例个Adapter与clear()哪个更好,我认为应该视情况而定,因为clear()也就是遍历里面元素然后置Null,你重新实例一个也要考虑重新实例对象是比较耗费资源的,当你data集合的size()不是很大时,clear()相信会是个更好的选择,你提出的异常我们会及时查找并修复,希望能提供下异常的报错信息,方便我们及时修复,谢谢你的反馈
from baserecyclerviewadapterhelper.
你一开始如果无data的话,可以指定为null,后面我们会提供一个不需要制定data的构造方法
from baserecyclerviewadapterhelper.
IndexOutOfBoundsException:
java.lang.IndexOutOfBoundsException: Invalid index 1, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
at java.util.ArrayList.add(ArrayList.java:147)
at com.chad.library.adapter.base.BaseQuickAdapter.add(BaseQuickAdapter.java:146)
at com.example.ArticlesFragment.addArticle(ArticlesFragment.java:78)
我一开始在初始化Adapter的时候给了null的data,报了这个错,然后给了个size为20的ArrayList,还是抱这个错
private class ArticlesAdapter extends BaseQuickAdapter<Article> {
public ArticlesAdapter(Context context) {
super(context, R.layout.article_item, new ArrayList<Article>(20));
openLoadAnimation();
}
@Override
protected void convert(BaseViewHolder helper, Article article) {
helper.setText(R.id.article_title, article.getTitle());
}
}
我是对数据进行逐一添加的:
@Override
public void addArticle(int position, Article article) {
// 这个会导致 IndexOutOfBoundsException
adapter.add(position, article);
// 我目前是这样解决的:
adapter.getData().add(article);
adapter.notifyItemInserted(position);
}
from baserecyclerviewadapterhelper.
哦,抱歉,犯了个低级错误,IndexOutOfBoundsException是我ArrayList使用不当...:flushed::flushed::flushed:
from baserecyclerviewadapterhelper.
已修复,新增了API,
from baserecyclerviewadapterhelper.
Related Issues (20)
- 4.0版本如何获取Item中Seekbar控件? HOT 1
- BaseNodeAdapter如何准确获取父node的下标
- 设置setStateViewLayout后,当有数据加载到RecyclerView时显示不全 HOT 3
- LayoutAnimationBinding 是啥? HOT 1
- 作者可以给3.0.14新迭代一个版本吗,给拖拽排序功能中,开放getMovementFlags出来,可以实现某个类型(或特殊数据所在项)数据禁止拖拽,谢谢, HOT 1
- 版本4.1.3 使用 ConcatAdapter+BaseSingleItemAdapter时EditText重复创建 HOT 3
- 真是烂尾, 白忙活一天 HOT 9
- 3.0.14,无法使用BaseDifferAdapter ,是必须要升级4.0版本才能用吗?请教大佬有没有别的兼容方式,升级4.0项目改动的地方比较多
- 2.9.46 版本有个crash,不知道作者遇到过吗,在新版是否已经解决
- BaseQuickAdapter继承传入泛型VH,以便使用RecyclerView重载方法onViewAttachedToWindow、onViewRecycled等 HOT 1
- 4.1.2 加载更多问题
- 设置 空 view 不显示 HOT 25
- 如何获取操作数据集合? HOT 1
- 使用咨询,3.x和4.x版本可以同时存在吗? HOT 1
- 4.0版本,HeaderView和TrailingLoadStateAdapter再GridLayoutManager中展示样式错误 HOT 3
- 空布局的和脚布局问题
- 滑动到底部,并执行adapter.notifyItemChanged(position)会自动往上滚动一段距离 HOT 2
- 多布局类型的Adapter(BaseMultiItemAdapter)要如何实现自定义的上拉加载和下拉刷新呢
- 最新的版本里面的kotlin版本太高怎么向下兼容 HOT 3
- basenodeadapter fun nodeSetData(parentNode: BaseNode, childIndex: Int, data: BaseNode) 里面的childindex如何获取
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from baserecyclerviewadapterhelper.