0

我想在 setContentView() 将它们显示在屏幕上之前(甚至之后)查看所有动态创建的按钮、TextView 等。我有一个松散的理解,这与上下文和活动有关,但具体来说,我不知道这些动态视图存在于哪里/它们在运行时如何组合在一起。

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

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

按钮应该存在于某处(我很确定它们存在于上下文中!!)但没有办法(我发现)定位这些动态创建的视图。请和谢谢。

4

1 回答 1

1

一般来说,如果您需要在屏幕上显示这些类型的东西,那么您应该在某处保留对它们的引用。这是一种常见的模式,如果你动态创建一个按钮,你需要把它们塞进一个List(例如)。如果您像这样编程,您不需要获取所有视图,即使您可以轻松地(通常在 GUI 中,您可以通过反射或同样俗气的机制)它也不会以任何形式组织将布局中的事物与应用程序指定的逻辑布局相关联的逻辑结构。因此,当您动态创建视图时,将它们像列表一样填充到某个地方,以便您以后可以迭代它。

于 2012-08-15T03:26:32.263 回答