首页 > 代码库 > Android 报错 Activity 状态
Android 报错 Activity 状态
我近期学习了一下android sdk,不太清楚里面的一些原理,如何保存应用程序的状态,看下面hello的小例子:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | package com.android.hello; import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
mTextView = new TextView( this );
if (savedInstanceState == null ) {
mTextView.setText( "Welcome to HelloAndroid!" );
} else {
mTextView.setText( "Welcome back." );
}
setContentView(mTextView);
}
private TextView mTextView = null ; } |
这个android 小例子应该是每个人都开发过的,我每次关闭程序再打开是都是给我显示第一个Welcome to HelloAndroid ,我想在第二次访问的时候能够显示 Welcome back,我该如何处理?
处理方法
你需要重写 onSaveInstanceState(Bundle savedInstanceState),把你想要保存的状态写入到 Bundle 中,如下
1 2 3 4 5 6 7 8 9 10 11 12 | @Override public void onSaveInstanceState(Bundle savedInstanceState) {
super .onSaveInstanceState(savedInstanceState);
// Save UI state changes to the savedInstanceState.
// This bundle will be passed to onCreate if the process is
// killed and restarted.
savedInstanceState.putBoolean( "MyBoolean" , true );
savedInstanceState.putDouble( "myDouble" , 1.9 );
savedInstanceState.putInt( "MyInt" , 1 );
savedInstanceState.putString( "MyString" , "Welcome back to Android" );
// etc. } |
Bundle 的本质是键值对的方式存储,你可以通过 onCreate()和 onRestoreInstanceState() 或的对应的值
1 2 3 4 5 6 7 8 9 10 | @Override public void onRestoreInstanceState(Bundle savedInstanceState) {
super .onRestoreInstanceState(savedInstanceState);
// Restore UI state from the savedInstanceState.
// This bundle has also been passed to onCreate.
boolean myBoolean = savedInstanceState.getBoolean( "MyBoolean" );
double myDouble = savedInstanceState.getDouble( "myDouble" );
int myInt = savedInstanceState.getInt( "MyInt" );
String myString = savedInstanceState.getString( "MyString" ); } |
您通常会使用这项技术来存储实例的值的应用程序(选择,未保存的文本等)。
原文地址:http://www.itmmd.com/201410/38.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。
Android 报错 Activity 状态
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。