在画布中,用户可以创建像EditText、ImageViews这样的视图,并且可以在视图中拖放它们。所有这些视图都是通过点击下面的代码添加到一个数组列表中的:
for(int index=0; index<((ViewGroup)mDragLayer).getChildCount(); ++index) {
View nextChild = ((ViewGroup)mDragLayer).getChildAt(index);
elementList.add(nextChild);
}
当用户在同一个屏幕上时,可以使用以下代码在elementList
的帮助下填充相同的视图:
for(int i = 0; i < elementList.size(); i++){
mDragLayer.addView(elementList.get(i));
}
问题是,如何在以后的阶段(在杀死应用程序后重新启动)使用elementList
来填充视图。我曾尝试使用共享首选项,但失败了。
我们非常感谢您的任何建议。
发布于 2016-06-22 18:53:26
如果Android系统杀死了你的应用程序,你不能持久化视图。相反,您可以持久化重新创建这些视图所需的模型。为此,您可以使用SharedPreferences
或数据库。
使用activity或fragment回调来确定是否存在需要重新创建的状态,然后构建自己的逻辑,以便从应用程序被终止之前存储的数据重新创建视图层次结构。您可以重新创建所有内容,如果需要非常精确,您甚至可以存储每个视图的位置,然后在布局参数中使用这些值来重新构建UI。
https://stackoverflow.com/questions/37976043
复制