2011-08-21 55 views
2

我想在運行時將相同的ImageView幾次添加到我的佈局中。我試圖定義ImageView(大小,位置,...),並添加它與LAYOUT.addView(IMAGEVIEW)。但是,如果我嘗試再次添加它(同一佈局中的不同位置),它不起作用。看起來像位圖的相同引用ID不能被添加兩次到佈局。將幾個相同的ImageView添加到佈局

我發現了這個問題。我的位圖太大了。如果我減小位圖的大小,它的工作原理。無論如何,感謝您的幫助。

+0

的答案添加到自己的問題托馬斯,這樣它顯示爲已解決:d – Kheldar

+0

你得到一個錯誤?或者當第二個imageview應該被添加時什麼也沒有發生? –

回答

1

您無法多次添加視圖的相同實例。您需要使用與第一個相同的參數創建第二個ImageView。

+0

我創建了一個新的ImageView,除了定位外,我還給它提供了相同的參數。但是,佈局未加載。 – Thomas

+0

你能發表一些代碼嗎? – Dave

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; 
} 

}

相關問題