Activity传递参数——传递复杂数据(Bunble包)

一.新建一个空的工程

二.在主界面中添加一个按钮

三.新建一个空的activity,并命名为TheAty

四.修改MainActivity.java中的onCreate函数

 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        findViewById(R.id.btnStartAty).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, TheAty.class);
               // i.putExtra("data", "hello android");

                Bundle b = new Bundle();
                b.putString("name","jikexueyuan");
                b.putInt("age",2);
                i.putExtras(b);
                startActivity(i);

            }
        });

五.在TheAty的布局文件中给textView加上id号

<TextView android:text="@string/hello_world" android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tv"/>

六.修改TheAty的源代码文件中的onCreate函数

private TextView tv;
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_the_aty);
        Intent i = getIntent();

        Bundle data = i.getExtras();
        tv = (TextView)findViewById(R.id.tv);
       // tv.setText(i.getStringExtra("data"));
        tv.setText(String.format("name=%s,age=%d",data.getString("name"),data.getInt("age")));
    }

七.运行结果

ps:另一种传递Bundle的方式

 //i.putExtras(b);
//在MainActivity.java中传递Bunble参数b
i.pushExtra("data",b);
//在TheAty.java中获取Bunble参数
Bunble data = i.getBunbleExtra("name");

 

posted @ 2015-08-05 20:01  Rosanne  阅读(613)  评论(0编辑  收藏  举报