我想要做的是按一个按钮添加以前声明的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 :(得分:0)
当你点击按钮并将它们全部重新添加时,你正在遍历整个数组。像这样的东西可能更像你想要的东西:
public void onClick(View v) {
if(rowlist.size() > 0)
{
table.addView(rowlist.get(0));
rowlist.remove(0);
}
}