我有一个应用程序,用户在屏幕上点击(用画布自定义视图的位置),并在用户点击的位置显示位图。我的应用程序运行良好,除了当我按'主页'按钮并离开活动。这是当用户在屏幕上点击并放置位图(在按下主页按钮之前)时外观的示例:http://i.stack.imgur.com/6BgIL.png保存自定义视图的状态?
当用户按下“home”按钮然后返回到应用程序时,它停止正常工作。放置在背景中的位图网格消失,以及绘制在画布上的所有其他位图球。唯一剩下的球是最后放置的球。不仅如此,该活动也会冻结,并且只允许用户在几秒钟后按任意按钮。这就是用户按下'主页'按钮并返回到活动(与上图相同的屏幕)后屏幕的显示方式:http://i.stack.imgur.com/198bP.png
如何保存自定义视图的状态,以便当活动再次启动时,保持不变? (或者如果我没有正确地处理这个问题,有没有其他解决方法?)。这是我在我的自定义表面观的暂停和恢复方法代码:
public void pause(){
isRunning = false;
while(true){
try {
ourThread.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
break;
}
ourThread = null;
}
public void resume(){
isRunning = true;
ourThread = new Thread(this);
ourThread.start();
}
我一直在寻找了一段时间,但我似乎无法找到解决的办法。其他代码将在需要时提供。谢谢!
如何在不绘制新视图的情况下再次在屏幕上绘制相同视图?我想继续保持了上 – Jarnuman 2012-03-04 18:00:22
一些视图的前视图相同的球和网格,第二屏幕丢失(但不是全部),意味着你必须有一些代码在调用onStart()或工作的onResume()方法,,你需要看它...的onCreate()将被称为第一/单次活动开始..而在onStart()和的onResume()将被称为** **再次当用户按下home键和返回到应用程序......你会看出来的其实为什么有些视图的缺失(由牢记活动周期)的原因,那么你就可以制定出您的问题... – 2012-03-05 04:55:36
我会为恢复提供我的代码和在原始帖子的编辑中暂停方法。我似乎无法找到任何问题,也许你可以帮忙? – Jarnuman 2012-03-06 02:57:26