在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")));
上一篇:Uart的Verilog建模


下一篇:LevelDb原理剖析