您的位置:首页 > 其它

使用Bundle在Activity之间传递数据

2012-04-10 16:57 337 查看
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里面就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐