Android教程:使用Bundle在Activity之间传递数据
Android教程:使用Bundle在Activity之间传递数据
Bundle可能过put****()方法添加各种类型的数据,Intent也可以通过putExtras(Bundle)将数据添加进去,然后通过startActivity()跳到下一下Activity的时候就把数据也传到下一个Activity了。
- package com.intent;
- import Android.app.Activity;
- import android.content.Intent;
- import android.os.Bundle;
- import android.view.View;
- import android.view.View.OnClickListener;
- import android.widget.Button;
- public class TestIntentActivity extends Activity {
- /** Called when the activity is first created. */
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- Button button = (Button)this.findViewById(R.id.button);
- button.setOnClickListener(new OnClickListener() {
- public void onClick(View v) {
- Intent intent = new Intent(TestIntentActivity.this,SecondActivity.class);
- Bundle bundle = new Bundle();
- bundle.putString("key_name", "name");
- bundle.putString("key_age", "age");
- intent.putExtras(bundle);
- startActivity(intent);
- }
- });
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical" >
- <Button
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/intent"
- android:id="@+id/button" />
- </LinearLayout>
- package com.intent;
- import android.app.Activity;
- import android.os.Bundle;
- import android.widget.TextView;
- public class SecondActivity extends Activity{
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.second);
- TextView tv1 = (TextView)this.findViewById(R.id.tv1);
- TextView tv2 = (TextView)this.findViewById(R.id.tv2);
- Bundle bundle = this.getIntent().getExtras();
- tv1.setText(bundle.getString("key_name"));
- tv2.setText(bundle.getString("key_age"));
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical" >
- <TextView android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:id="@+id/tv1"/>
- <TextView android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:id="@+id/tv2"/>
- </LinearLayout>
最后将新的Activity添加到manifest.xml里面就可以了
更多Android相关信息见Android 专题页面 http://www.bkjia.com/topicnews.aspx?tid=11
评论暂时关闭