3

我在我的 XML 布局中定义了一个 ImageView 对象R.id.tile,我想要做的是创建它的克隆并将它们中的每一个放置在不同的坐标处。

这是我到目前为止所拥有的:

    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);
出现错误“找不到源”。

有任何想法吗?

4

2 回答 2

2

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

应用视图看起来像这个 应用视图

于 2016-12-03T08:34:02.993 回答
-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);
        }
于 2013-03-28T20:19:46.680 回答