如何在Android中保存拖动的ImageView的位置?

如何在Android中保存拖动的ImageView的位置?,android,layout,imageview,Android,Layout,Imageview,以下情况: 我有一个布局,上面有一些ImageViews。用户可以拖动它们。我还有一个按钮可以添加一些新的ImageViews。当你点击它时,你会看到一个概览,在这里你可以选择一张图片。然后概览活动结束,您返回片段 现在的问题是: 由于片段在从其他活动返回时再次初始化,因此我之前放置的图像视图的所有位置都将丢失 保存拖动的ImageViews位置的最佳方法是什么?获取每一页的页边距并保存它们? 我有一个SQLite DB正在运行,但我认为在那里保存每个ImageView的位置是一种过分的做法。问

以下情况:

我有一个布局,上面有一些
ImageView
s。用户可以拖动它们。我还有一个按钮可以添加一些新的
ImageView
s。当你点击它时,你会看到一个概览,在这里你可以选择一张图片。然后概览活动结束,您返回片段

现在的问题是:

由于
片段
在从其他活动返回时再次初始化,因此我之前放置的
图像视图
的所有位置都将丢失

保存拖动的
ImageView
s位置的最佳方法是什么?获取每一页的页边距并保存它们?
我有一个SQLite DB正在运行,但我认为在那里保存每个
ImageView
的位置是一种过分的做法。

问题是,即使重新启动,你希望你的应用程序记住位置吗

如果这样做,则需要使用某种持久性存储,例如数据库、
文件或
共享引用

如果没有,只需将它们缓存在内存中,例如在
HashMap

要获得职位,您可以在您的
OnDragListener
中执行以下操作:

public boolean onDrag(View v, DragEvent event) {

    final int action = event.getAction();
    switch(action) {

        // ...

        case DragEvent.ACTION_DROP:
            float x = event.getX;
            float y = event.getY;

            savePosition(x, y);
            break;
    }
}

问题是,你希望你的应用程序即使在重启的情况下也能记住位置吗

如果这样做,则需要使用某种持久性存储,例如数据库、
文件或
共享引用

如果没有,只需将它们缓存在内存中,例如在
HashMap

要获得职位,您可以在您的
OnDragListener
中执行以下操作:

public boolean onDrag(View v, DragEvent event) {

    final int action = event.getAction();
    switch(action) {

        // ...

        case DragEvent.ACTION_DROP:
            float x = event.getX;
            float y = event.getY;

            savePosition(x, y);
            break;
    }
}

我认为不把职位保存在某个地方是不可能的。我认为不把职位保存在某个地方是不可能的。