作者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