android:动态添加组件到布局

时间:2012-05-08 14:34:23

标签: android android-layout

我有一个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指出的线程代码。

1 个答案:

答案 0 :(得分:1)

尝试ViewGroup.addView()(FrameLayout,GridLayout,LinearLayout,...都是ViewGroup的扩展)。

例如,如果要在第一个已存在的视图之后插入视图:

LinearLayout layout = (LinearLayout) findViewById(R.id.layoutID);
layout.addView(viewToBeAdded, 1);