[問題] 重新計算view大小

看板AndroidDev作者 (zoeysui)時間12年前 (2013/08/14 12:46), 編輯推噓2(2011)
留言13則, 6人參與, 最新討論串1/1
大家好,我在某個activity中有一個listview 每個list item裡面是長度不等的內容 而我的app操作過程中有可能會去替換掉list item裡面的內容 當替換之前的內容比替換之後的內容多時, 就會造成那個list item在替換之後的內容下面多了一大塊空白 請問該用什麼方法強迫list item的view去重新計算大小並重新繪製呢?? 試過了invalidate(),forceLayout(),requestLayout()都沒用@@" 謝謝各位! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.164.207.98

08/14 12:51, , 1F
也許可以移除那個item後插入新的?
08/14 12:51, 1F

08/14 12:53, , 2F
在adapter當然是這樣做,但是view跟adapter是分開的@@"
08/14 12:53, 2F
※ 編輯: zoeysui 來自: 218.164.207.98 (08/14 13:03)

08/14 14:26, , 3F
inflate進來的view包一個layout height=wrap_content
08/14 14:26, 3F

08/14 14:26, , 4F
就好了吧
08/14 14:26, 4F

08/14 15:46, , 5F
就是有加阿,但是在它的內容更動後沒有重新經過
08/14 15:46, 5F

08/14 15:47, , 6F
layout/measure的階段,size是不會變的
08/14 15:47, 6F

08/14 16:06, , 7F
解決了QQ,應該是因為我有自己實作simple adapter的
08/14 16:06, 7F

08/14 16:07, , 8F
view binder而沒有在裡面強制重新layout一次的關係!
08/14 16:07, 8F

08/14 21:14, , 9F
最標準的作法不是notifyDatasetChanged?
08/14 21:14, 9F

08/14 21:52, , 10F
推樓上。不過S大寫:notifyDataSetChanged :)
08/14 21:52, 10F

08/14 22:21, , 11F
對ListView call requestLayout() 沒用嗎?
08/14 22:21, 11F

08/15 00:21, , 12F
我有notifyDataSetChanged, 但是因為我有實作自己的view b
08/15 00:21, 12F

08/15 00:21, , 13F
inder而沒有在裡面加上requestLayout所以沒有重新計算
08/15 00:21, 13F
文章代碼(AID): #1I2mkn8r (AndroidDev)