android开发_Intent高级学习(保存Activity状态)
2011-12-30 11:22
477 查看
Intent高级学习(保存Activity状态)
New Android Project->
Project name:Activity
Build Target:Android 2.2
Application name:ActivityDemo
Package name:com.b510.intent.activity
Create Activity:MainActivity
Min SDK Version:8
Finish
1、main.xml
2、second.xml
3、修改AndroidManifest.xml文件
4、编辑MainActivity.java文件
5、编辑SecondActivity.java文件
6、修改string.xml文件
7、运行效果
7.1、输入:hello
http://www.cnblogs.com/hongten/gallery/image/112159.html
7.2、点击:按钮”去向SecondActivity”
http://www.cnblogs.com/hongten/gallery/image/112160.html
7.3、点击:返回按钮
http://www.cnblogs.com/hongten/gallery/image/112161.html
EditText中的值是没有变化
New Android Project->
Project name:Activity
Build Target:Android 2.2
Application name:ActivityDemo
Package name:com.b510.intent.activity
Create Activity:MainActivity
Min SDK Version:8
Finish
1、main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <!-- 添加一个可供输入的文本框input --> <EditText android:id="@+id/input" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="" /> <!-- 添加一个按钮id=secondBtn --> <Button android:id="@+id/secondBtn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/secondBtn" /> </LinearLayout>
2、second.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <!-- 添加一个可供接收参数的文本框get --> <EditText android:id="@+id/get" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="" /> </LinearLayout>
3、修改AndroidManifest.xml文件
<!-- 注册SecondActivity类,显示名称为:"@string/secondActivity"中的值 --> <activity android:name=".SecondActivity" android:label="@string/secondActivity"> </activity>
4、编辑MainActivity.java文件
public class MainActivity extends Activity { /* 定义一个字符串常量content */ public static final String CONTENT = "content"; /* 定义一个字符串常量MainActivity */ private static final String TAG = "MainActivity"; /* 定义一个名字为secondBtn的Button */ private Button secondBtn; /* 定义一个名字为input的EditText */ private EditText input; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //输出日志信息 Log.i(TAG, TAG + "-->onCreate()"); //在R文件中找到我们定义的Button secondBtn = (Button) findViewById(R.id.secondBtn); //给secondBtn添加点击事件 secondBtn.setOnClickListener(listener); input = (EditText) findViewById(R.id.input); //判断Activity保存状态,在MainActivity被覆盖的时候,Activity会自动调用 //saveInstanceState()方法,保存被覆盖的Activity类中的相关信息 if (null != savedInstanceState && savedInstanceState.containsKey(CONTENT)) { input.setText(savedInstanceState.getString(CONTENT).toString()); } } @Override protected void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); Log.i(TAG, TAG + "onDestory()"); } @Override protected void onPause() { // TODO Auto-generated method stub super.onPause(); Log.i(TAG, TAG + "onPause()"); } @Override protected void onRestart() { // TODO Auto-generated method stub super.onRestart(); Log.i(TAG, TAG + "onRestart()"); } @Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); Log.i(TAG, TAG + "onResume()"); } @Override protected void onStart() { // TODO Auto-generated method stub super.onStart(); Log.i(TAG, TAG + "onStart()"); } @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); } @Override protected void onSaveInstanceState(Bundle outState) { // TODO Auto-generated method stub super.onSaveInstanceState(outState); //当Activity调用onStop()方法之前会调用此方法,这里处理的是保存input(EditText)中的信息 String content=input.getText().toString(); outState.putString(CONTENT, content); } protected OnClickListener listener = new OnClickListener() { @Override public void onClick(View v) { Button btn = (Button) v; Intent intent = new Intent(); switch (btn.getId()) {//跳转到SecondActivity类,并且把input(EditText)中的内容传过去 case R.id.secondBtn: intent.setClass(MainActivity.this, SecondActivity.class); intent.putExtra("text", input.getText().toString()); break; } startActivity(intent); } }; }
5、编辑SecondActivity.java文件
public class SecondActivity extends Activity { private EditText get; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.second); // 首先获得从MainActivity类传递过来的Intent Intent intent = getIntent(); // 在MainActivity那边是setExtras(name,key) // 在这里就是getExtras()了,他的返回类型是一个Bundle类型 Bundle bundle = intent.getExtras(); String text = bundle.getString("text"); get=(EditText)findViewById(R.id.get); get.setText(text); } }
6、修改string.xml文件
<string name="secondBtn">去向SecondActivity类</string> <string name="secondActivity">secondActivity</string>
7、运行效果
7.1、输入:hello
http://www.cnblogs.com/hongten/gallery/image/112159.html
7.2、点击:按钮”去向SecondActivity”
http://www.cnblogs.com/hongten/gallery/image/112160.html
7.3、点击:返回按钮
http://www.cnblogs.com/hongten/gallery/image/112161.html
EditText中的值是没有变化
相关文章推荐
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState參数解析
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析
- android开发学习之路(1)---- activity及intent基本详解(2)
- Android开发学习之路--Activity之Intent
- Android学习小结之Activity保存和恢复状态
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析
- Android开发从入门到放弃(2)保存Activity的状态
- Android开发学习之路--Activity之Intent
- Android学习之保存 Activity 的状态
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析
- Android开发_如果后台的Activity由于某原因被系统回收了,如何在被系统回收之前保存当前状态?
- Android开发中Activity状态的保存与恢复
- android学习中关于Textview,Button,EditText,连接的设置,Intent,Activity不同状态等的一系列基础知识点
- 【Android开发学习笔记】【第三课】Activity和Intent
- Android开发之保存和恢复Activity的状态与数据
- 【Android 应用开发】Activity 状态保存 OnSaveInstanceState参数解析
- 关于Android中保存activity的状态的几点学习笔记
- Android基础部分再学习---activity的状态保存
- Android学习总结——Activity状态保存和恢复
- Android开发从零开始之九:Activity高级学习