使用Bundle在Activity之间传递数据

来源:互联网 发布:北京金蝶软件代理商 编辑:程序博客网 时间:2024/05/17 00:59

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{@Overrideprotected 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里面就可以了

原创粉丝点击