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

时间:2016-06-11 08:51:56

标签: android layout imageview

以下情况:

我的布局上有一些ImageView s。用户可以拖动它们。我还有一个按钮来添加一些新的ImageView。单击它时,您将获得一个可以选择图像的概述。然后概述活动结束,然后返回到片段。

现在出现问题:

因为从其他活动返回时Fragment会再次初始化,所以我之前放置的ImageView的所有位置都会丢失。

什么是保存拖动ImageView s位置的最佳方法?得到每个的边缘并保存它们? 我有一个SQLite数据库正在运行,但我认为保存每个ImageView的位置是一种过度的做法。

1 个答案:

答案 0 :(得分:0)

问题是,即使重启,您还希望自己的应用记住这些位置吗?

如果这样做,您需要使用某种持久性存储,例如数据库,FileSharedPreferences

如果没有,只需将它们缓存在内存中,例如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;
    }
}