如何在活动中列出所有动态创建的视图?

时间:2012-08-15 03:17:12

标签: android dynamic resources views

我希望在setContentView()之前(甚至之后)在屏幕上显示所有动态创建的按钮,TextView等。我完全理解这与Context和Activity有关,但具体而言我不知道这些动态视图的存在位置以及它们在运行时如何组合在一起。

如果它们在运行时显示有没有办法列出所有这些?

    LinearLayout layout = new LinearLayout(this);
    layout.addView(button1);
    layout.addView(button2);
    layout.addView(button3);
    setContentView(layout);

按钮应该存在于某个地方(我确信它们存在于上下文中!!)但是找不到这些动态创建的视图(我已经找到)。 拜托,谢谢。

1 个答案:

答案 0 :(得分:1)

一般情况下,如果您需要在屏幕上显示这些类型的东西,那么您应该在某处保留对它们的引用。这是一种常见的模式,如果您动态创建一个按钮,则需要将它们填入List(例如)。如果你这样编程,你不应该得到所有的观点,即使你很容易(通常在GUI中,你可以通过反思,或者同样棘手的机制)它不会被组织成任何类型的逻辑结构,它将布局中的内容与应用程序指定的逻辑布局相关联。因此,当您动态创建视图时,将它们填充到列表中的某个位置,以便稍后可以迭代它。