如果在固定大小的情況下還是建議使用BaseAdapter
但在大小未知的狀況下還是使用arrayAdapter比較適當
arrayAdapter有著四大常用的功能add(新增一筆到最後)、insert(新增一筆到指定位置)、remove(刪除最後一筆)、clear(全部清除)
但是每次新增的時候如果沒有讓getView作reDraw的動作並不會出現
或許新增的時候並不在畫面中沒有感覺
但新增或刪除在畫面中沒反應會造成使用上的困擾
廢話好像有點多...
如果只是想要做一般的reDraw
也就是將整個arrayAdapter刷新只需要使用下面這行即可
用了這個會全部重新繪製(也就是會跳回最開頭)ListView.setAdapter(arrayAdapter);
如果想要保留在畫面中但是又更新請使用下面這兩行
用NotifyChange的方式告訴arrayAdapter資料更新arrayAdapter.notifyDataSetChanged();
arrayAdapter.setNotifyOnChange(true);
此方法不僅在一般的ListView可以使用
在自動完成(AutoCompleteTextView)也一樣可以使用
做出類似google搜尋輸入時的建議搜尋
標題為啥要用英文定...因為我也不知道該怎樣比較適當的翻譯成中文一一
參考資料
Android Developer
Android - ArrayAdapter
Android - ListView
Android - arrayAdapter refresh row
by Isken Huang - 11/02/2010 - Android
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言