我有一個ImageView對象,R.id.tile,在我的XML佈局中定義的,我想要做的是創建它的克隆並將它們放在不同的座標處。如何以編程方式創建ImageView對象的多個副本?
這是我到目前爲止有:
protected void onCreate(Bundle savedInstance)
{ super.onCreate(savedInstance);
setContentView(R.layout.board_layout);
layout = (AbsoluteLayout)findViewById(R.id.board);
img = (ImageView)findViewById(R.id.tile);
View[] tiles = new ImageView[9];
for (int i = 0; i<tiles.length; i++) {
tiles[i] = (ImageView)findViewById(R.id.tile);
}
for(int i=0; i<3; i++){
for(int j=0; j<3; j++){
tiles[i+j].setX((float) 32*2*i);
tiles[i+j].setY((float) 34.39*2*j);
}
}
...
但是當我調試它一直停就行磚[i] =(ImageView的)findViewById(R.id.tile);
與錯誤「找不到源」。
任何想法?你原來
您的問題
有你爲什麼要使用原來的ImageView的克隆,而不是製造新的問題,並制定自己的形象是相同的具體原因是什麼?我認爲後一種方法會容易得多。然後你可以調用'layout.addView(tiles [i]);'將新的添加到你的佈局中。 – FoamyGuy
@FoamyGuy也許他不想以編程方式設置原始圖像視圖獲取的所有屬性或樣式,如height,widht,..等等。 – Pragnani
@Pragnani可能,如果是這種情況,那麼他可以在它的layout.xml文件中聲明ImageView,然後使用LayoutInflater創建新的,這將使它們都被預先設置爲所需的配置。 – FoamyGuy