如何退出活动并将其恢复到之前的状态?
Posted
技术标签:
【中文标题】如何退出活动并将其恢复到之前的状态?【英文标题】:How do I get out of an activity and restore it in exactly its previous state? 【发布时间】:2012-01-09 04:53:41 【问题描述】:这是我的代码。它只涉及 2 个按钮和一个在按下按钮时上下移动的数字计数器(整数值和文本大小)。此活动是遵循该流程的更大应用程序的一部分: 1.闪屏 2.列表菜单 3. 菜单中选择的活动(有3个选项,计数器是其中之一)
当我按下后退按钮时,它会返回到列表菜单,当我单击整数计数器选项时,我希望它完全恢复原样 关于我如何做到这一点的任何想法? 谢谢!
public class StartingPoint extends Activity
/** Called when the activity is first created. */
int counter;
Button add;
Button sub;
TextView display;
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
counter=0;
add= (Button) findViewById(R.id.bAdd);
sub= (Button) findViewById(R.id.bSub);
display= (TextView) findViewById(R.id.tvDisplay);
add.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
// TODO Auto-generated method stub
counter++;
display.setText(""+counter);
display.setTextSize(counter);
);
sub.setOnClickListener(new View.OnClickListener()
@Override
public void onClick(View v)
// TODO Auto-generated method stub
counter--;
display.setText(""+counter);
display.setTextSize(counter);
);
【问题讨论】:
【参考方案1】:你有两个不错的选择:
要么使用 SharedPreferences 来存储你的变量 onStop() 并加载它 onStart() - How to use SharedPreferences in android to store, fetch and edit values;
或者,如果它只是一个整数,您可以使用 startActivityForResult 方法来实例化您的整数计数器活动并从活动中捕获结果,如Android: Capturing the return of an activity 中所述。
希望对你有帮助!
【讨论】:
您还可以使用静态数据、文件系统或数据库。 是的。在我看来,那些对我来说是最直接的,但你建议的那些也是完全可行的。 如果我在 onStop() 上使用了 sharedpreferences,然后我使用 taskkiller 或其他什么东西退出了应用程序...是否会删除使用 sharedpreferences 存储的数据? 没有。引用developer.android.com/guide/topics/data/data-storage.html#pref,“SharedPreferences 类提供了一个通用框架,允许您保存和检索原始数据类型的持久键值对。您可以使用 SharedPreferences 保存任何原始数据:布尔值、浮点数、整数、长整数和字符串。这些数据将在用户会话中持续存在(即使您的应用程序被终止)。"以上是关于如何退出活动并将其恢复到之前的状态?的主要内容,如果未能解决你的问题,请参考以下文章