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)
- 支持网格拖拽
- 3.0.6 版本找不到getLayoutPosition 方法,尝试升级库版本无效 HOT 2
- .
- StateView的占用高度(宽度)似乎存在BUG HOT 4
- BaseDifferAdapter和LoadMore一起使用会有问题
- 拖拽问题
- 部分机型拖拽被重叠。
- 关于使用BaseBinderAdapter+LoadMoreModule接口+adapter.addData(list)实现上划加载更多的实现模式下,只能加载一页后面就不加载的问题
- 头部更多,页面初始化,没有手动下拉滑动,QuickAdapterHelper setLeadingLoadStateAdapter为何会自动加载更多?
- 无法上拉刷新,能出个demo吗
- NestedScrollView+嵌套+RecyclerView问题
- 设置空布局,一开始list有数据,没问题,后来在刷新数据后list成为空列表,再次submitList会闪退 HOT 2
- 4.1.4 代码可以增加下list嵌套的例子吗? HOT 1
- 4.1.4非常好用,咨询2个问题
- 关于获取adapter的position
- 横向加载更多布局问题 HOT 2
- 4.1.4版本demo为什么没有一级二级菜单分类展示案列?是不支持了吗?
- 希望适配器能加一个数据变化的监听器
- 版本:3.0.14,调用item点击事件后notifyDataSetChanged,item的拖拽事件就不灵敏了,必现 HOT 1
- 两个BaseSingleItemAdapter,都放最后,一个设置占满一行,一个不设置,在gridlayoutmanager中,应该占一行的没有占满一行
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.