Android Cursor的正確遍歷方法
專案中用到Cursor,之前的兄弟是這樣寫的:
if(cursor ==null) {
Log.w(TAG,"....");
}else{
while(cursor.moveToNext()){
....
}
cursor.close();
}
遍歷出的結果很奇怪,本來查出10條資料,然通過上述程式碼遍歷會丟資料。在沒debug,這段程式碼時,我排除了好多假設,花了我好久的時間。而且每次遍歷的資料條數都在變。
找了好久才發現,這段遍歷的方式不對。他就沒有把Cursor移動到起始位置。
正確的遍歷方式是這樣的:
//cursor不為空,moveToFirst為true說明有資料
if(cursor!=null&&cursor.moveToFirst()){
do{
}while(cursor.moveToNext);
}
或著
if(cursor!=null&&cursor.moveToFirst()){
while (!result.isAfterLast()) {
}
cursor.close();
}
相關推薦
Android Cursor的正確遍歷方法
專案中用到Cursor,之前的兄弟是這樣寫的: if(cursor ==null) { Log.w(TAG,"...."); }else{ while(cursor.moveToNext()){ .... } cursor.close();
哪種Map遍歷方法更優?!—Map遍歷方法的正確選擇
我們都知道遍歷Map一般有3種方法,values(),keySet()和entrySet(),常見的是keySet用的多,簡單容易理解,entrySet()是返回Map中的靜態內部類Entry類型別的Set例項,當然了你別說forEach,forEach只是一種代替for(i
如何正確遍歷刪除List中的元素(普通for迴圈、增強for迴圈、迭代器iterator、removeIf+方法引用)
遍歷刪除List中符合條件的元素主要有以下幾種方法: 普通for迴圈 增強for迴圈 foreach 迭代器iterator removeIf 和 方法引用 (一行程式碼搞定) 其中使用普通for迴圈容易造成遺漏元素的問題,增強for迴圈foreach會報java.util.Concurre
java實現二叉樹的構建以及3種遍歷方法
輸出 for () 如果 順序 bintree 參考 oca gpl 轉載自http://ocaicai.iteye.com/blog/1047397 大二下學期學習數據結構的時候用C介紹過二叉樹,但是當時熱衷於java就沒有怎麽鳥二叉樹,但是對二叉樹的構建及遍歷一
Map、List、Set在Java中的各種遍歷方法
try one out 循環 java light size i++ pre 一、Map的4種遍歷 Map<String, String> map = new HashMap<String, String>(); map.put("姓名", "
整理Jquery的遍歷方法
next() 文檔 round 一個 上一個 val 子元素 eva 標簽 一、遍歷父元素的幾種方法 1.遍歷直接父元素:parent () 方法 parent() 方法只會返回被選元素的直接父元素。 $("span").parent(); 2.遍歷所有父元素:pa
jquery中each的3種遍歷方法
每一個 dom對象 cti 遍歷集合 class 集合 div this 一個 1、選擇器+遍歷 $(‘div‘).each(function (i){ i就是索引值 this 表示獲取遍歷每一個dom對象 }); 2、選擇器+遍歷 $(‘div‘).eac
java中Set集合的遍歷方法
基本數據類型 對象 叠代器 比較 for hashset 循環 sta ins S兒童集合的遍歷: 第一種:for增強循環 Set<String> set = new HashSet<String>(); for (String str : set
Map的遍歷方法及字符計數
html pri new rgs bject put hashmap 字符 com 一、Map遍歷的4中方法 public static void main(String[] args) { Map<String, String> map = n
checkbox的幾種遍歷方法
clas 屬性 first undefined define true 方法 第一個 tro <div> <input type="checkbox" name="ckb" value="1" />1
List集合三種遍歷方法
++ next string highlight gpo equal 方法 arraylist bject 一、通過叠代來遍歷List集合,可以刪除List集合中的元素。 import java.util.ArrayList; import java.util.Itera
<jQuery> <方法> 十九. each()方法(遍歷方法)
css type lock char lan lang dex script blog <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8">
談談vector容器的三種遍歷方法
封裝 font pri using != 說明 ace rac 三種 說明:本文僅供學習交流。轉載請標明出處。歡迎轉載! ? ? ? ? ?vector容器是最簡單的順序容器,其用法相似於數組。實際上vector的底層實現
php7簡短而安全的數組遍歷方法
init 遍歷 ati shel php7 判斷 codec keyword www 在寫 PHP 的數組遍歷的時候,我們通常會這樣寫: foreach ($definition[‘keys‘] as $id => $val) { // ... } 但是其實這樣會
jQuery 遍歷方法
blog -h content offset rec html body 當前 add 方法描述 add() 把元素添加到匹配元素的集合中 addBack() 把之前的元素集添加到當前集合中 andSelf() 在版本 1.8 中被廢棄。addBack() 的
map的幾種遍歷方法
IT col nbsp cti 集合 pos post value body private Hashtable<String, String> emails = new Hashtable<String, String>(); //方法一:
map常用遍歷方法
http abc entryset tails 運行 net iter image 技術 //循環遍歷map的方法 public class MapF { public static void main(String[] args) { Map<
JQuery :eq() 選擇器 與 eq()遍歷方法
child 索引 遍歷 應用 jquery code 連接 clas AR 一、:eq()選擇器 語法: $( " :eq(index)" ) 在匹配的集合中選擇索引值為index的元素,index索引值從0算起。就是選的第 “index+1” 的元素。 若要獲取變量,
JavaScript 中的12種循環遍歷方法
定義 而不是 port 但是 ans 返回 app spa gin 題目:請介紹 JavaScript 中有哪些循環和遍歷的方法,說說它們的應用場景和優缺點? 1、for 循環 let arr = [1,2,3];for (let i=0; i<arr.len
2018-6-3_《JS遍歷方法(12個)》
turn undefine map defined ever fin asc dex ole /* 12個遍歷方法: 1. forEach ES5 2. every ES5 3. some ES5 4. filter ES5 5. map ES5 6. redu