多次添加相同的ImageView到布局

时间:2011-08-21 17:16:46

标签: android layout imageview duplicates clone

我想在运行时期间多次向我的Layout添加相同的ImageView。我尝试定义ImageView(大小,位置,...)并使用LAYOUT.addView(IMAGEVIEW)添加它。但是,如果我尝试第二次添加它(相同布局中的不同位置),它就不起作用。似乎位图的相同reference-id不能两次添加到布局中。

我发现了问题。我的位图太大了。如果我减小位图的大小,它的工作原理。无论如何,谢谢你的帮助。

2 个答案:

答案 0 :(得分:2)

这堂课应该有所帮助:

public class MyImageView implements Cloneable {

public MyImageView(Context ctx){
    super(ctx);
}
public Object clone(){
    try{
        MyImageView obj = new MyImageView(this.getContext());
        obj.setImageDrawable(this.getDrawable());
        obj.setScaleType(this.getScaleType());
        try{
            obj.setLayoutParams(this.getLayoutParams());    
        }catch(Exception e){

        }

        obj.setId((int)(Math.random() * 100));

    } catch (CloneNotSupportedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return obj;
}

}

答案 1 :(得分:1)

您无法多次添加View的同一实例。您需要使用与第一个相同的参数创建第二个ImageView。