我有一个ImageView对象, R.id.tile ,在我的XML布局中定义,我想要做的是创建它的克隆并将它们中的每一个放在不同的坐标上。
这是我到目前为止所做的:
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);
}
}
...
但是当我调试它时,它会一直停在 tiles [i] =(ImageView)findViewById(R.id.tile); 上 错误“找不到来源。”
有什么想法吗?
答案 0 :(得分:1)
activity_main.xml中
<LinearLayout
android:id="@+id/linear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
</LinearLayout>
MainActivity.java
ImageView iv;
LinearLayout linear;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
linear = new LinearLayout(this);
linear = (LinearLayout)findViewById(R.id.linear);
for(int i=1;i<10;i++)
{
iv = new ImageView(this);
iv.setImageResource(R.drawable.plus);
iv.setPadding(0,0,0,20);
linear.addView(iv);
}
}
app视图看起来像这样 app view
答案 1 :(得分:-1)
ImageView imageview=new ImageView(context);
imageview=yourimageview
//原始
对于你的问题,试试这个
View[] tiles = new ImageView[9];
ImageView testview= (ImageView)findViewById(R.id.testview);
for (int i = 0; i<tiles.length; i++) {
tiles[i] = new Imageview(context);
}