Android中ListView數據使用sAdapter.notifyDataSetChanged();方法不刷新的問題

原文鏈接:http://blog.csdn.net/caihongdao123/article/details/51513410 ?點擊閱讀原文

-------------------------

1.涉及到數據庫

當要動態顯示更數據庫改動,相信大家應該都用過notifyDataSetChanged();.?
例如:
? ? ? ? ? ......?
? ? ? ? ?private ArrayList<HashMap<String, Object>> usersList;?
? ? ? ? ? ......?
? ? ? ? ?usersList= query(......);???? //根據查詢函數獲取一個ArrayList并賦值給綁定到Adapter的數據源usersList?
? ? ? ? ?sAdapter.notifyDataSetChanged();??
? ? ? ? ?上面這種形式去刷新ListView的數據的話, 是不可以更新的. 必須改成如下形式:?
? ? ? ? ??usersList.clear(); ?//先清空集合
? ? ? ? ? usersList.addAll(query(......));?
? ? ? ? ? sAdapter.notifyDataSetChanged();?
原因是:???

?Adapter在調用super(MyActivity.this, R.layout.item, usersList)時Adapter保存了指向原List的引用,在調用query函數之后,usersList指向了一個新的List。但是在調用notifyDataSetChanged()時,Adapter會跟據保存的引用去更新,因此當然還是原來的結果,不會進行更新。

2.布局xml中屬性值的問題

當你布局中ListView的Android:layout_height="wrap_content"時,可能導致頁面沒有及時更新而出現數據不更新的問題只要將ListView的布局屬性更改為android:layout_height="match_parent"即可。

3.其他問題可能就是數據或者List沒有及時update里面的數據




本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538949.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538949.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538949.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

keepalived配置高可用集群

準備工作 分別在主從上安裝keepalived和nginxyum install -y keepalivedyum install -y nginx關閉主從上的防火墻和SELinuxsystemctl stop firewalldsetenforce 0 配置主機 查看主機ip [rootlynn-04 ~]# ifconfig ens33: flags4163<UP,BROADCAST,RUNNING,MULTICAST> mtu…

如何快速掌握python包_如何快速掌握一個python模塊?

初學者就別想快了。 我自己是這樣的。先上網看看一些基礎的教程&#xff0c;非常快的過一下&#xff0c;十幾分鐘&#xff0c;主要是了解這個module能干什么&#xff0c;特別是一些基本的功能&#xff0c;頭腦中建立起初步映射。 然后就是用了&#xff0c;不用看了也白搭。我假…

python設計一個函數定義計算并返回n價調和函數_python函數的調和平均值?

我有兩個函數&#xff0c;給出精度和召回分數&#xff0c;我需要做一個調和平均函數&#xff0c;定義在同一個庫中&#xff0c;使用這兩個分數。函數如下所示&#xff1a;功能如下&#xff1a;def precision(ref, hyp):"""Calculates precision.Args:- ref: a l…

jsp超鏈接到java文件,jsp頁面超鏈接傳中文終極解決辦法

在做web前端頁面的時候&#xff0c;經常碰到傳中文問題。網上有許多方案&#xff0c;但仍不能根治&#xff0c;最終要用js或者java的encode相關方法。常規方案有三部&#xff1a;1.改tomcat的server.xml中URIEncodeing為utf-82.頁面中編碼設置為utf-83.整個項目編碼使用utf-8我…

自定義ListView中的分割線

原文&#xff1a;http://blog.csdn.net/zuolongsnail/article/details/7187302點擊閱讀 --------------------------------------- ListView中每個Item項之間都有分割線&#xff0c;設置Android:footerDividersEnabled表示是否顯示分割線&#xff0c;此屬性默認為true。 1.不顯…

隱藏域input里面放當前時間_【小A問答】Win10的隱藏小秘密,被我發現了!

無驚無險又到小A問答環節辣~~今天的小A要來給大家分享一些小秘密&#xff01;當然&#xff0c;這可不是小A自己的小秘密&#xff0c;是關于你電腦的小秘密哦&#xff01;知道嗎&#xff1f;Windows10每一次升級更新&#xff0c;都會伴隨著新功能的增加。這些隱藏的功能你都發現…

網絡相關的面試題

1&#xff09;簡述tcp/ip的三次交互過程&#xff08;個人理解&#xff1a;syn是握手信號&#xff0c;ack是確認信號&#xff0c;ack就相當于前面的syn值1&#xff0c;簡單一點理解就是客戶端發送握手請求&#xff0c;服務器收到握手請求后&#xff0c;回復一個包確認它接收到了…

h5文字垂直居中_CSS中垂直居中和水平垂直居中的方法

flex垂直居中&#xff1a;第一種&#xff1a;使用flex布局&#xff0c;讓居中元素的父元素為flex屬性,讓它在交叉軸上center就可以達到居中效果了&#xff1a;html代碼: <div class"father"><p>我要垂直居中</p> </div>css代碼: .father {…

ListMap排序

//compareto就是比較兩個數據的大小關系 大于0表示前一個數據比后一個數據大&#xff0c; 0表示相等&#xff0c;小于0表示第一個數據小于第二個數據 public static List<Map<String, String>> sortWifi(List<Map<String, String>> wifiList){if(wif…

thinkphp回調的php調用db類,請問thinkphp中model類自動完成功能 回調函數能不能獲取其他字段的值?...

http://www.thinkphp.cn/api/source-class-Model.html#975protected function _validationFieldItem($data,$val) {switch(strtolower(trim($val[4]))) {case function:// 使用函數進行驗證case callback:// 調用方法進行驗證$args isset($val[6])?(array)$val[6]:array();if…

輸入年份和月份輸出該月有多少天python_Python實現用戶輸入年月日,程序打印出這是這一年的第多少天...

1. 自己造輪子yearint(input(請輸入年份&#xff0c;如2019>>>))monthint(input(請輸入月份&#xff0c;如8>>>))dayint(input(請輸入日期,如25>>>))#下面這塊代碼是按照閏年計算if (year%40 and year%100!0) or (year%4000):calendar{1:31,2:29,3:…

Linux命令之find命令中的-mtime參數

有關find -mtime這個參數的使用有比較多的坑&#xff0c;今天把這個問題在這里記錄下來&#xff1a; mtime參數的理解應該如下&#xff1a; -mtime n 按照文件的更改時間來找文件&#xff0c;n為整數。 n 表示文件更改時間距離為n天-n 表示文件更改時間距離在n天以內n 表示文件…

WifiManager的getScanResults()返回列表為0

這個問題查了好久&#xff0c;花了2個小時。就是出不來。 原來問題在android sdk 版本問題。 在android 6.0的時候&#xff0c;返回為空&#xff0c;且不為null&#xff0c;在華為mate&#xff0c;6.0手機上測試&#xff0c;也不報錯。 官網和網上沒有具體的解決方法。 后來…

c++直角坐標系與極坐標系的轉換_平面向量的奇技淫巧——斜坐標系的一系列低級研究...

事先說明&#xff1a;筆者初三&#xff0c;如在敘述中有不嚴謹的地方&#xff0c;還請諸位指出&#xff0c;自當感激不盡。一.什么是斜坐標系眾所周知&#xff0c;我們目前平面中使用相當廣的坐標系是笛卡爾發明的平面直角坐標系。然而&#xff0c;笛卡爾真的只使用了這一種坐標…

php 字節轉為kb,PHP獲取文件大小并轉化為KB、MB、GB單位

PHP獲取文件大小并轉化為KB、MB、GB單位。function getSize($filesize) {if ($filesize > 1073741824) {$filesize round($filesize / 1073741824 * 100) / 100 . GB;} elseif ($filesize > 1048576) {$filesize round($filesize / 1048576 * 100) / 100 . MB;} else…

python 重定向stdout_Python 犄角旮旯--重定向 stdout

What&#xff1f;在 Python 程序中&#xff0c;使用 print 輸出調試信息的做法非常常見&#xff0c;但有的時候我們需要將 print 的內容改寫到其他位置&#xff0c;比如一個文件中&#xff0c;便于隨時排查。但是又不希望大面積替換 print 函數&#xff0c;這就需要一些技巧實現…

Jetty實戰之 安裝 運行 部署

原文地址&#xff1a;http://blog.csdn.net/kongxx/article/details/7218767 1. 首先從Jetty的官方網站http://wiki.eclipse.org/Jetty/Starting/Downloads下載最新的Jetty&#xff0c;上面有兩個版本7.x和8.x&#xff0c;7.x是運行在JDK5及以上版本&#xff0c;8.x是運行在JD…

一行命令從 APK 文件中提取 Endpoint 及 URL

做IoT的人免不了要接觸Android&#xff0c;接觸Android的人又免不了要研究別人的App應用。 Diggy&#xff0c;一款能夠從 apk 文件中提取 endpoint 及 URL 的工具&#xff0c;只要一行命令就可以幫大家提取出相關Android apk文件的安裝信息和互聯網訪問信息。 下載地址&#xf…

antd 獲取table選中行數據_element-ui 組件el-table默認選中行setCurrentRow采坑記

1.背景選中表格中某一行&#xff0c;高亮顯示&#xff0c;table表格數據變化后&#xff08;刪除某幾條數據&#xff0c;不包括選中的刪除&#xff09;&#xff0c; this.$refs.multipleTable.setCurrentRow(row),選中之前選中的行&#xff0c;可發現總是選中下一條的數據&#…

Unity protobuf中repeated轉C#文件List只讀問題

Unity protobuf中repeated轉C#文件List只讀問題 介紹問題解決方案總結 介紹 工具這里我就不多介紹了&#xff0c;如果有用到ProtoGen工具的可以繼續看一下我后面的方法。 問題 如下圖所示&#xff0c;我這里隨便用了一個.proto文件&#xff0c;看下我這里面的repeated標記的…