
try { commentList.add(new Comment( Preferences.getProfileImageUrl(),"",Preferences.getUsername(DONApplication.getInstance()),String.valueOf(Preferences.getUserID(DONApplication.getInstance())),response.getString("comment_ID"),commentText )); commentAdapter.notifyItemInserted(commentList.size() - 1); } catch (Exception e) { e.printstacktrace(); } 但它根本没有显示,但当我关闭窗口并再次打开它时,它变得可见.我不知道为什么会这样.有人能帮我吗?
解决方法 经过几个小时 – 这就是我发现的.项目0已添加到列表中,屏幕已显示之前为0-9的项目,现在显示项目1-10.
您需要以编程方式滚动到位置0,以便查看新添加的项目.
我用了
public voID onAttachedToRecyclerVIEw(RecyclerVIEw recyclerVIEw) { this.recyclerVIEw = recyclerVIEw; super.onAttachedToRecyclerVIEw(recyclerVIEw);} 获取对连接到适配器的recyclerVIEw的引用(在我的情况下,我知道只有一个可能的recyclelerVIEw,javadoc声明可能有多个)
在位置0添加项目后,我检查了第一个可见项目是否为0(如果用户已经向下滚动,我不想滚动)
private voID restoreScrollpositionAfteradAdded() { linearlayoutmanager layoutManager = (linearlayoutmanager) recyclerVIEw.getLayoutManager(); if (layoutManager != null) { int firstVisibleItemposition = layoutManager.findFirstVisibleItemposition(); if (firstVisibleItemposition == 0){ layoutManager.scrollToposition(0); } }} 总结 以上是内存溢出为你收集整理的android – notifyItemInserted()在零索引处插入第一个项目时不起作用全部内容,希望文章能够帮你解决android – notifyItemInserted()在零索引处插入第一个项目时不起作用所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)