2012-04-13 175 views
0

我正在嘗試爲我的父母業務製作應用程序,但此時我發現了一個問題。動態填充字符串數組

我想從SQLite數據庫中獲取一些字符串並將它們存儲到數組中。

我想這一點:

  //This opens the db 
      SQLManager info = new SQLManager(this); 
      info.open();    

      String[] data = {"", "", "", ""}; 

      for (int i = 1; i == 3; i++) 
      { 
       data[i]=(info.getProduct(i)); 
      } 

      info.close(); 
      tv.setText(data[0]); 
      tv.setText(data[1]); 
      tv.setText(data[2]); 

info.getproduct是從數據庫獲取一個字符串的方法。這工作正常。問題是我無法更新數組的值。它始終顯示相同。

有什麼想法?

回答

0

for迴路的第二個參數被認爲作爲while -condition工作,這意味着循環將運行,而它是真實的,因爲i開始爲1也不會是3,因此在循環終止於一次。 你可能需要一個循環,如下所示:

for(int i = 1; i<=3; i++){ //Are you sure you want to start from 1? The first element in an array has index 0. 
    //Loop 
} 
0

你應該這樣做

String[] data = {"", "", "", ""}; 

      for (int i = 0; i <data .length; i++) 
      { 
       data[i]=(info.getProduct(i)); 
      } 
-1

不是我== 3,用我<在3環

0

這個循環會從來沒有運行你應該改變它:

for(int i =0;i<3;i++){ 
} 
0

for循環的使用是像t他的

for(initializatin;condition;increment) 

雖然在你的情況下,它不是條件它是一個聲明,所以工作。

你可以改變for (int i = 1; i <= 3; i++)

+0

你可能不想開始索引到1 ... – Kyone 2015-10-15 14:04:32

4

你這樣做,

String[] data = new String[4]; 

     for (int i = 0; i <data .length; i++) 
     { 
      data[i]=(info.getProduct(i)); 
     } 

它可以幫助你。