2013-06-04 119 views
0

我想爲所有選定的ID做一個循環,但不幸的是它不起作用。只有輸入的第一個Id被接受,並且不會循環到ArrayList中的下一個值。這是我的代碼。我不知道我錯過了什麼。謝謝!循環不起作用

if (arraylistSelectedConsumerIds != null) 
    { 
     for (int i = 0; i <arraylistSelectedConsumerIds.size(); i++) 

       ConsumerId = arraylistSelectedConsumerIds.get(i); 
       databaseAdapter.updateEmailmark(ConsumerId); 
       Toast.makeText(AdminActivity.this,"consumer id" + ConsumerId, Toast.LENGTH_LONG).show(); 

    } 

回答

1

對我來說看起來像是一個基本的語法錯誤。

if (arraylistSelectedConsumerIds != null) { 
    for (int i = 0; i <arraylistSelectedConsumerIds.size(); i++) { 

      ConsumerId = arraylistSelectedConsumerIds.get(i); 
      databaseAdapter.updateEmailmark(ConsumerId); 
      Toast.makeText(AdminActivity.this,"consumer id" + ConsumerId, Toast.LENGTH_LONG).show(); 
    } 
} 

只需像我這樣在循環中添加花括號,並確保使用IDE來檢查更多的語法錯誤。

+0

確切的說,否則for循環只執行它後面的第一行。 – Andres

-1

您應該調試它。也許arraylistSelectedConsumerIds鏈接到databaseAdapter,並且當您撥打updateEmailmark時會更改大小。如果是這種情況,您應該先存儲該值。例如:

int listSize = arraylistSelectedConsumerIds.size(); 
for(int i = 0; i <listSize; i++)