我想在运行时期间多次向我的Layout添加相同的ImageView。我尝试定义ImageView(大小,位置,...)并使用LAYOUT.addView(IMAGEVIEW)添加它。但是,如果我尝试第二次添加它(相同布局中的不同位置),它就不起作用。似乎位图的相同reference-id不能两次添加到布局中。
我发现了问题。我的位图太大了。如果我减小位图的大小,它的工作原理。无论如何,谢谢你的帮助。
答案 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。