【问题标题】:Java - adding existing objects to view iterating through an array listJava - 添加现有对象以查看遍历数组列表
【发布时间】:2014-07-29 21:46:56
【问题描述】:

我想要做的是按下一个按钮来添加之前声明的 TableRow 对象(指的是已经在 XML 文件中创建的 TableRow 对象),我在程序启动时使用 table.removeView(row1) 等隐藏了这些对象。

然后我希望能够单击一个按钮将每个 TableRow 一次添加回视图,直到所有行再次可见。我尝试了几种不同的方法,但没有任何运气,我尝试的最后一种方法是在我的 onCreate 方法中创建一个数组列表,如下所示:

final ArrayList<TableRow> rowlist = new ArrayList<TableRow>();
rowlist.add(row4);
rowlist.add(row5);
rowlist.add(row6);
rowlist.add(row7);
rowlist.add(row8);
rowlist.add(row9);
rowlist.add(row10);

然后尝试像这样迭代:

public void onClick(View v) {
Iterator<TableRow> rowiterator = rowlist.iterator();
while (rowiterator.hasNext()) {
table.addView(rowiterator.next());
}
}

我现在得到的是,当我按下按钮时,它只会一次将所有行重新添加回来,而我希望它遍历列表,一次添加一行。

谁能帮我解决这个问题,或者告诉我我是不是一个彻头彻尾的白痴,并建议一种全新的、更好的方法来实现我想要实现的目标?

注意:我对 Java 编程很陌生,在这个问题上我完全被难住了!

【问题讨论】:

  • 与其做整个列表,不如将第一项添加到您的行中,然后从列表中删除它?然后下次单击该按钮时,将列表中的第一项添加到它的行中,然后将其删除,依此类推。如果您不想删除它们,则可以保留一个从 0 开始的 int 变量,并在每次单击按钮时为其添加 1。然后,您只需在每次单击按钮时在该位置添加项目。

标签: java android eclipse arraylist iteration


【解决方案1】:

当您单击按钮并将它们全部添加回时,您正在遍历整个数组。像这样的东西可能更像您想要的:

public void onClick(View v) {
  if(rowlist.size() > 0)
  {
     table.addView(rowlist.get(0));
     rowlist.remove(0);
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    相关资源
    最近更新 更多