2013-06-04 122 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++)