动态添加 ImageView 到 RelativeLayout :不可见

Adding ImageView to RelativeLayout dynamically : Not Visible

我正在我的代码中动态添加 ImageView 到相对布局。
但是这个 imageView 有时可见,有时不可见。我在调试时可以看到图像正在添加到布局中。

我什至用过invalidate();refreshDrawable();但是没用。

任何想法或帮助将不胜感激。

首先,我要删除之前添加到相对布局的图像..

int size=   lv_header.getChildCount();
        for(int i=size;i>=0;i--)
        {
            if(lv_header.getChildAt(i) instanceof ImageView)
                {   if(lv_header.getChildAt(i)!=null){
                            lv_header.removeViewAt(i);
                        break;
                    }

            }

        }

之后,我添加了新的 imageView..

RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(
                    RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
                lp.addRule(RelativeLayout.ALIGN_PARENT_RIGHT,v.getId());

            lv_header.addView(imageButton,lp);
            imageButton.refreshDrawableState();
            lv_header.invalidate();

您似乎要将一个 ImageView 替换为另一个? 为什么不只保留原始 ImageView 并使用 setImageDrawable() 或 setImageBitmap() 更改其可绘制源?