2014-03-27 39 views
0

我有光標,我想檢查光標的值。例如,檢查光標的值

if (it is null) 
kayitlar[i]="" 
else 
kayitlar[i]=cursor's value. 

我該怎麼做?感謝幫助!

Cursor okunanlar = v3.GetAllRows(); 
okunanlar.moveToLast(); 
for(int i=0;i<10;i++) 
{ 
kayitlar[i]=okunanlar.getString(okunanlar.getColumnIndex("name")); 
okunanlar.moveToPrevious(); 
} 

我用它解決了這個問題;

if(!okunanlar.moveToPrevious()) 
{ 
    kayitlar[i]=""; 
    okunanlar.moveToPrevious(); 
} 
else 
{ 
    kayitlar[i]=okunanlar.getString(okunanlar.getColumnIndex("name")); 
    okunanlar.moveToPrevious(); 
} 

但現在我有新的問題:

我有標籤的菜單和2標籤。當我創建tab2時,我從db獲取我的值。比我從tab1寫入新的價值數據庫,我再次點擊tab2,但我不能在列表視圖中顯示新值。我怎樣才能刷新我的分貝? 注:列表2中的列表視圖

+0

我糊塗 - 如果你知道如何從你有一個問題什麼光標獲取值?爲什麼你只能得到一個值,檢查空值,並據此設置? – Rarw

+0

我創建列表視圖,我想從數據庫中獲得最後20個值。所以如果數據庫沒有20個值,我應該檢查空值。 –

回答

0

嘗試使用此代碼

Cursor okunanlar = v3.GetAllRows(); 
if(okunanlar == null) 
    throw new IOException("null cursor"); 

int i = 0; 
while(okunanlar.moveToNext()){ 
    kayitlar[i]=okunanlar.getString(okunanlar.getColumnIndex("name")); 
    i++; 
} 
0

也許有些像這樣? 0是列

if(okunanlar.moveToFirst){ 
do{ 
    string x = c.getString(0); 
if(x==null) 
{x="";} 

kayitlar.add(x); 
}while(okunanlar.moveToNext); 
+0

while while循環會做得很好時不要使用do/while循環 – Rarw