0

我有一个 java 应用程序,可以将视图动态添加到容器面板,如下所示。

void addBoard(int ID) {
    BoardPanel p = new BoardPanel(myManager,ID);
    setAutoLayout();
    containerPanel.add(p);
    containerPanel.repaint();
}

当我尝试将其转换为 android 应用程序时,它会在调用 addView 时挂起。问题是什么?请注意,如果他喜欢,用户可以添加 1000 个视图(BoardPanels),所以我不能使用 XML 布局。

void addBoard(int ID) {
    BoardPanel p = new BoardPanel(context,myManager,ID);
    Log.i("Info", "Going to add view");
    containerPanel.addView(p);
    Log.i("Info", "Added");
    containerPanel.postInvalidate();
}

谢谢


更新:问题似乎是由于 Aegonis 指出的线程代码。

4

1 回答 1

1

试试ViewGroup.addView()(FrameLayout、GridLayout、LinearLayout……都是 ViewGroup 的扩展)。

例如,如果您希望在第一个已经存在的视图之后插入视图:

LinearLayout layout = (LinearLayout) findViewById(R.id.layoutID);
layout.addView(viewToBeAdded, 1);
于 2012-05-08T14:48:24.100 回答