作者zoeysui (zoeysui)
看板AndroidDev
标题[问题] 重新计算view大小
时间Wed Aug 14 12:46:39 2013
大家好,我在某个activity中有一个listview
每个list item里面是长度不等的内容
而我的app操作过程中有可能会去替换掉list item里面的内容
当替换之前的内容比替换之後的内容多时,
就会造成那个list item在替换之後的内容下面多了一大块空白
请问该用什麽方法强迫list item的view去重新计算大小并重新绘制呢??
试过了invalidate(),forceLayout(),requestLayout()都没用@@"
谢谢各位!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.164.207.98
1F:→ onlymonster:也许可以移除那个item後插入新的? 08/14 12:51
2F:→ zoeysui:在adapter当然是这样做,但是view跟adapter是分开的@@" 08/14 12:53
※ 编辑: zoeysui 来自: 218.164.207.98 (08/14 13:03)
3F:→ issuemylove:inflate进来的view包一个layout height=wrap_content 08/14 14:26
4F:→ issuemylove:就好了吧 08/14 14:26
5F:→ zoeysui:就是有加阿,但是在它的内容更动後没有重新经过 08/14 15:46
6F:→ zoeysui:layout/measure的阶段,size是不会变的 08/14 15:47
7F:→ zoeysui:解决了QQ,应该是因为我有自己实作simple adapter的 08/14 16:06
8F:→ zoeysui:view binder而没有在里面强制重新layout一次的关系! 08/14 16:07
9F:推 tac0wu:最标准的作法不是notifyDatasetChanged? 08/14 21:14
10F:推 agudoe2:推楼上。不过S大写:notifyDataSetChanged :) 08/14 21:52
11F:→ luluking:对ListView call requestLayout() 没用吗? 08/14 22:21
12F:→ zoeysui:我有notifyDataSetChanged, 但是因为我有实作自己的view b 08/15 00:21
13F:→ zoeysui:inder而没有在里面加上requestLayout所以没有重新计算 08/15 00:21