Java 为什么addView()在Android Studio中重置我的布局?

Java 为什么addView()在Android Studio中重置我的布局?,java,android,android-studio,layout,Java,Android,Android Studio,Layout,我有一个线程,它在我的主活动中调用一个函数,该函数应该在我的布局中的某个位置添加一个图像。。当我调用我的函数时,所有功能都正常工作,但我的布局参数(在我的情况下为边距)在我调用时重置: myLayout.addView(newImage); 这是我的线程调用的函数: public void createImageAt(Point location) { final ImageView newImage = new ImageView(this); final Relative

我有一个线程,它在我的主活动中调用一个函数,该函数应该在我的布局中的某个位置添加一个图像。。当我调用我的函数时,所有功能都正常工作,但我的布局参数(在我的情况下为边距)在我调用时重置:

myLayout.addView(newImage);
这是我的线程调用的函数:

public void createImageAt(Point location) {
    final ImageView newImage = new ImageView(this);

    final RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(90, 90);

    params.leftMargin = location.x;
    params.topMargin = location.y;

    newImage.setImageResource(R.drawable.image);
    newImage.setLayoutParams(params);

    final RelativeLayout myLayout = (RelativeLayout) findViewById(R.id.gameLayout);

    myLayout.post(new Runnable() {
        @Override
        public void run() {
            myLayout.addView(newImage);
        }
    });

}

我的问题是,我必须通过移动leftMargin来滑动布局,当我调用写在margin上方的函数时,即使它是-200px,也会跳回到0。如果问题出现,状态没有保存,则生成
newImage
全局变量并重用它。只需使用
myLayout.addView(newImage)
myLayout.remove(新图像)

您的问题是(a)调用
addView()
myLayout
的左边距重置为零,或者(b)调用
addView()
忽略
newImage
的布局参数中设置的边距?我的问题是(a)点。也许我说得很糟糕,我很抱歉。也许我说得很糟糕,但我的问题不是那样;图像正确显示在右侧位置,但当我将其(图像)添加到布局中时,布局会重置其左边距