【发布时间】: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