Activity高級學習

1.保存Activity狀態

          onSaveInstanceState(Bundle outState)   在Activity onStop()狀態之前被執行,用來保存系統的狀態。

package com.alvin.testactivity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {
    
	private static final String TAG = "MainActivity";
	private static final String CONTENT = "content";  //定義常量
	private Button btn1 = null;
	private EditText txt = null;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        if(savedInstanceState != null && savedInstanceState.containsKey(CONTENT)) {//判斷是否保存了狀態
        	String str = savedInstanceState.getString(CONTENT);
        	txt.setText(str);
        }
        btn1 = (Button)findViewById(R.id.btn1);
        btn1.setOnClickListener(listener);
        txt = (EditText)findViewById(R.id.txt);
        Log.i(TAG, "MainActivity-->onCreate");
    }
	
	
	private OnClickListener listener = new OnClickListener() {
		
		public void onClick(View v) {
			Button btn = (Button)v;
			Intent intent = new Intent();
			switch (btn.getId()) {
			case R.id.btn1:
				intent.setClass(MainActivity.this, SencondActivity.class);
				break;
			}
			startActivity(intent);
		}
	};

	protected void onSaveInstanceState(Bundle outState) {         //在退出前保存狀態
		super.onSaveInstanceState(outState);
		String str = txt.getText().toString();
		outState.putString(CONTENT, str);
	}

	
	
}


發佈了18 篇原創文章 · 獲贊 13 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章