0

我正在尝试在我的 OnClickListener 中向 RelativeLayout 添加一个视图。

 montrolButton.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View v) {
// myParent is a relative layout
// newChild is an ImageView
                     myParent.addView(newChild);
                     requestLayout();
                 }
});

我查看了 HierarchyViewer,我没有看到我的新孩子正在添加。如果我想念什么,你能告诉我吗?

4

2 回答 2

0

是否设置了新视图(图像视图)的布局属性?

于 2012-04-24T08:08:26.670 回答
0

我只是尝试了相同的代码,它可以正常工作。您的变量可能存在问题,myParent这不是您期望的元素。

此外,我不必要求requestLayout()添加的视图出现在屏幕上。

可能尝试明确获取视图的另一部分并将其添加到那里以查看发生了什么。也只是为了尝试,你可以这样做:

    RelativeLayout rv = (RelativeLayout) this.findViewById(R.id.right3);
    ProgressBar iv = new ProgressBar(this);
    rv.addView(iv);

查看您的图像视图而不是 myParent 是否有任何问题

无论如何,如果两个元素都正常,它就可以工作——在活动中没有其他事情可做。

于 2012-04-23T23:18:09.190 回答