android - 如何以编程方式创建 ImageView 对象的多个副本?

标签 android imageview clone inflate

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

有什么想法吗?

最佳答案

activity_main.xml

<LinearLayout
    android:id="@+id/linear"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">
</LinearLayout>

主 Activity .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);
    }
}

应用 View 看起来像这样 app view

关于android - 如何以编程方式创建 ImageView 对象的多个副本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15691377/

相关文章:

php - 内爆数组并搜索匹配 mysql php

android - 我们可以在 Android Studio 中更改 gradle 插件版本吗

android - ImageView 未显示在 TableRow 上

java - 使用 .clone() 方法和 = 号克隆对象有什么区别?

java - Android 应用程序的发布调试版本

Android 应用程序 : java. lang.IllegalStateException:无法执行 Activity 的方法

android - 渐变不适用于 Lollipop API 21

android - 从 ImageView 内的 ConstraintLayout 中删除多余的空间

java - 克隆内部类定义的对象

clone - NFC 标签上的系列 - 真正独一无二?可克隆?