在ClickListener中动态添加视图

时间:2012-04-23 22:20:52

标签: android

我正在尝试将On View添加到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,我没有看到我的新孩子被添加。 如果我错过了什么,能告诉我吗?

2 个答案:

答案 0 :(得分:0)

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

此外,我无需致电requestLayout()以便添加的视图显示在屏幕上。

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

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

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

在任何情况下,如果两个元素都正常,它就可以工作 - 活动中没有别的事情可做。

答案 1 :(得分:0)

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