Android学习笔记之Bundle


1.介绍

用于不同Activity之间的数据传递

2.重要方法

clear():清除此Bundle映射中的所有保存的数据。
clone():克隆当前Bundle
containsKey(String key):返回指定key的值
getString(String key):返回指定key的字符
hasFileDescriptors():指示是否包含任何捆绑打包文件描述符
isEmpty():如果这个捆绑映射为空,则返回true
putString(String key, String value):插入一个给定key的字符串值
readFromParcel(Parcel parcel):读取这个parcel的内容
remove(String key):移除指定key的值
writeToParcel(Parcel parcel, int flags):写入这个parcel的内容
Android2Activity.java 

[java]
  1. package Android2.test;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.view.View;  
  7. import android.view.View.OnClickListener;  
  8. import android.widget.Button;  
  9. import android.widget.EditText;  
  10.   
  11. public class Android2Activity extends Activity {  
  12.       
  13.     private EditText et = null;  
  14.     private Button button = null;  
  15.     @Override  
  16.     public void onCreate(Bundle savedInstanceState)  
  17.     {  
  18.         super.onCreate(savedInstanceState);  
  19.         setContentView(R.layout.main);  
  20.         et = (EditText)findViewById(R.id.edit);  
  21.         button = (Button)findViewById(R.id.button);  
  22.         button.setOnClickListener(new ButtonListener());  
  23.     }  
  24.       
  25.     public class ButtonListener implements OnClickListener{  
  26.   
  27.         public void onClick(View arg0) {  
  28.             // TODO Auto-generated method stub   
  29.             Bundle bundle = new Bundle();  
  30.             bundle.putString("Name", et.getText().toString());  
  31.             Intent intent=new Intent(Android2Activity.this,bundle.class);  
  32.             intent.putExtras(bundle);  
  33.             startActivity(intent);  
  34.         }  
  35.     }  
  36. }  

main.xml

[java]
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.     <EditText   
  7.         android:id="@+id/edit"  
  8.         android:layout_width="fill_parent"  
  9.         android:layout_height="wrap_content"/>  
  10.     <Button   
  11.         android:id="@+id/button"  
  12.         android:layout_width="wrap_content"  
  13.         android:layout_height="wrap_content"  
  14.         android:text="start"/>  
  15. </LinearLayout>  

bundle.java

[java]
  1. package Android2.test;  
  2.   
  3. import android.app.Activity;  
  4. import android.content.Intent;  
  5. import android.os.Bundle;  
  6. import android.widget.TextView;  
  7.   
  8. public class bundle extends Activity{  
  9.     private TextView text = null;  
  10.     @Override  
  11.     public void onCreate(Bundle savedInstanceState)  
  12.     {  
  13.         super.onCreate(savedInstanceState);  
  14.         setContentView(R.layout.bundle);  
  15.         Intent intent = getIntent();  
  16.         Bundle bundle = intent.getExtras();  
  17.         text = (TextView)findViewById(R.id.text);  
  18.         text.setText(bundle.getString("Name"));  
  19.     }  
  20.       
  21. }  

bundle.xml

[java]
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="fill_parent"  
  4.     android:layout_height="fill_parent"  
  5.     android:orientation="vertical" >  
  6.     <TextView   
  7.         android:id="@+id/text"  
  8.         android:layout_width="wrap_content"  
  9.         android:layout_height="wrap_content"  
  10.         />  
  11. </LinearLayout>  

相关内容