pager-layoutmanager icon indicating copy to clipboard operation
pager-layoutmanager copied to clipboard

notifyItemChanged 失效,无法刷新单条数据

Open HateTomatoes opened this issue 6 years ago • 8 comments

notifyDataSetChanged是有效的,也就是做不到刷新单个item。 如果只是刷新数据,可以使用LiveData实现。但是,如果TextView的宽度是wrapcontent,字符长度变化的时候由于控件没刷新,所以就会出现字符被切掉的问题。

HateTomatoes avatar Jul 16 '18 07:07 HateTomatoes

+1

tanranran avatar Aug 16 '18 06:08 tanranran

+1

yongchao1210 avatar Nov 29 '18 09:11 yongchao1210

+1 i have the same issue

tranleo148 avatar Apr 01 '19 08:04 tranleo148

+1

NoahZu avatar Jun 11 '19 07:06 NoahZu

+1

huihui4045 avatar Dec 11 '19 08:12 huihui4045

+1

dingpengqiang avatar May 21 '20 00:05 dingpengqiang

怎么利用livedata更新某个item?

JohnsCui avatar Jul 23 '21 10:07 JohnsCui

PagerGridLayoutManager中onLayoutChildren把if (state.isPreLayout() || !state.didStructureChange()) 改为只需要判断: if (state.isPreLayout()) { return; }

第一页闪烁问题,同样onLayoutChildren中: //解决第一页刷新闪烁问题 // if (mOffsetX == 0 && mOffsetY == 0) { // // 预存储View // for (int i = 0; i < mOnePageSize; i++) { // if (i >= getItemCount()) break; // 防止数据过少时导致数组越界异常 // View view = recycler.getViewForPosition(i); // addView(view); // measureChildWithMargins(view, mWidthUsed, mHeightUsed); // } // }

duanfb avatar Mar 16 '22 13:03 duanfb