ListView資料動態重新整理

2021-06-23 06:45:09 字數 893 閱讀 5802

**:

在android開發中用到listview時,經常遇到要更改listview內容的情形,比如刪除或增加listview中顯示的條目,這裡給大家提供一下思路:不論listview要顯示的物件是什麼(如:cursor或array或list),要實現listview資料的更新,都要手動去更改要顯示的資料物件,然後呼叫相應的方法(如:requery()或notifydatasetchanged())來重新整理listview。針對不同的情形,下面給出相應解決辦法的關鍵**:

1.用listview來顯示資料庫的資料時,經常會用到******cursoradapter來作為listview的介面卡,這時要用到cursor來訪問資料庫,當資料庫資料發生改變時,需要通過cursor.

requery()

方法來更新listview。注:這個方法在api11以後被廢棄了,原因是執行該方法是會查詢資料庫,如果查詢動作是在主線程(ui執行緒)中完成的,由於查詢過程要耗一定時間,所以有可能引起anr。可以通過重新獲取乙個新的cursor來解決這個問題。

2.當listview顯示的資料時通過array或者list傳入的時候,要實現listview資料的更新,就要手動來更改array或者list,

以list為例,要呼叫list.add()或者list.remove()方法來增加或刪除資料。然後再呼叫adapter.notifydatasetchanged()來更新顯示資料。

總的來說,要實現listview資料的更新,實質是實現對應的adapter中顯示資料的更新。而要實現adapter資料更新,就要自己手動來完成對應資料的更改,如上面提到的

requery()或者list.add()、list.remove()等,然後再呼叫adapter的notifydatasetchanged()方法來實現listview的重新整理。

Listview重新整理資料

本質上是listview繫結adapter,adapter關聯list,因此list變化後導致adapter同步變化 再通過呼叫adapter.notifydatasetchanged 方法使得listview介面自動更新。操作 liststrname new arraylist 實際的資料來源 a...

ListView內容變化後的動態重新整理

listview內容變化後的動態重新整理 基本知識點 1.更新介面卡adapter資料來源 2.呼叫介面卡adapter的重新整理方法notifydatasetchanged 首先需要定義listview和對應介面卡adapter 用於顯示使用者列表的listview private listvie...

ListView下拉重新整理

以後會經常用到下拉重新整理和上拉重新整理的,今天用了,就記錄一下,方便以後的使用。1.導包 2.xml布局 3.activity中 public class mainactivity extends activity implements onrefreshlistener override pub...