android ListView 數據更新的總結
1、android中ListView滾動刷新
在做ListView加載數據時如果數據量大的話會造成加載時間過長而卡屏,所以為了解決這個問題,查看了SDK,
在OnScrollListener中有兩個方法
隻要重寫這兩個方法就可以實現滾動加載,例如:
public void onScroll(AbsListView v, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
lastItem = firstVisibleItem + visibleItemCount - 1;
if (adapter.count == lastItem) {
adapter.count += 10;
adapter.notifyDataSetChanged();
}
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
// TODO Auto-generated method stub
Log.i("onScrollStateChanged", "onScrollStateChanged");
}
本文來自CSDN博客,轉載請標明出處:https://blog.csdn.net/evy_gyw/archive/2011/01/05/6118196.aspx
最近在學習Android的listView控件時遇到了一個問題,如何添加一個Item到ListView中並及時的刷新出來。在網上查了很多帖子,很多人在問,也很多人在解答,但是總的來說都沒找到詳細的解決方案。對於ListView與數據庫的同步,高手們建議使用ContentProvider對象。但是如果我不使用數據庫呢?也有人回答用notifyDataSetChanged()方法。這倒是一個正確的解決方案,但是對於新手來說,還是比較困惑怎麼去用,這裏我貼一下我的用法:
OnClickListener listener2 = new OnClickListener() {
@Override public void onClick(View v) {
// TODO Auto-generated method stub
Map<String, Object> m = new HashMap<String, Object>();
String tiString = tv.getText().toString(); // 注意這裏我為什麼要取出這個EditText的內容
m.put("prod_na", tiString); // 而不這樣寫 m.put("prod_na", tv.getText());
m.put("prod_type", tiString); // 因為tv.getText()返回的是Editable對象,真正的數據是被緩存的,
// 也就是說你後續的EditText改動都會影響之前添加的Item coll.add(m); // 取回Adapter對象,用於調用notifyDataSetChanged方法。 SimpleAdapter sAdapter = (SimpleAdapter)lv.getAdapter(); sAdapter.notifyDataSetChanged(); } };
https://android.group.iteye.com/group/blog/774152
這裏涉及到了Android中的MVC模式概念,如何存儲數據,控製和顯示。
你可以認為ListView是一個View,那麼mode是什麼呢?顯然是SimpleAdapter對象,而Control又是什麼呢?那隻能是notifyDataSetChanged()了。當數據變化時,也就是SimpleAdapter所處理的數據變化了,那麼我們就需要調用 notifyDataSetChanged 去通知View作出改變。
最後更新:2017-04-02 06:51:49
上一篇:
多線程Runnable和Thread產生線程
下一篇:
[usaco][舞會燈] party lamps
In or Out? Kubernetes一統江湖的野心 - 寫在Kubernetes 1.6即將發布之際
雲加數支撐商業地產轉型——無止境的商業想象力測試
httpclient通過POST來上傳文件,而不是通過流的形式,並在服務端進行解析(通過httpmime.jar來操作)
Java NIO係列教程(六) Selector
JavaScript作用域和閉包
打開word文檔到richtextbox
接電話、撥打電話的流程管理
App製作幹貨:真旺雲開發App之如何配置iOS發布?
magento -- 後台產品列表頁默認隻顯示可見性為“Catalog, Search”的產品
J2EE中獲得web路徑和類路徑總結