在Activity之间传递数据—简单数据/Bundle

 1.首先要知道怎么通过一个Activity 打开另一个Activity。主页面为MainActivity,另一个页面为OtherActivity。MainActivity中的按钮Id为btnStart。

此实例类似与在winform中,通过单击一个按钮,打开另一个form。

在MainActivity的OnCreate方法中填写一下代码:

findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent i=new Intent(MainActivity.this,OthereActivity.class);
        startActivity(i);
    }
});

2.传递简单数据到OtherActivity。

在OtherActivity中添加一个文本显示控件TextView,用于显示从MainActivity中传递的数据。本例传递一个string串。

MainActivity的OnCreate方法代码:

 

 findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i=new Intent(MainActivity.this,OthereActivity.class);
                i.putExtra("key","value:yangjian");
                startActivity(i);
            }
        });

 

OtherActivity的OnCreate中接收,显示代码:

 

       tv=(TextView)findViewById(R.id.txtView);
        Intent i=getIntent();
       tv.setText(i.getStringExtra("key"));

 

3.传递数据包bundle到OtherActivity。

MainActivity的OnCreate方法代码:

 

 findViewById(R.id.btnStart).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent i=new Intent(MainActivity.this,OthereActivity.class);

                Bundle b=new Bundle();
                b.putString("name","杨戬");
                b.putInt("age",90);
                i.putExtras(b);
              //  i.putExtra("data",b);  这一行或上一行都可以
                startActivity(i);
            }
        });

 

OtherActivity的OnCreate中接收,显示代码:

 

 tv=(TextView)findViewById(R.id.txtView);
        Intent i=getIntent();
        Bundle data=i.getExtras();

        tv.setText(String.format("名字:%s;年龄:%d",data.getString("name"),data.getInt("age")));

 

posted @ 2015-06-14 15:48  hometown  阅读(249)  评论(0编辑  收藏  举报