您的位置:首页 > 其它

使用Bundle传递复杂数据

2015-11-18 22:41 405 查看
第一种方法

1、在第一个activity中

<span style="font-size:18px;"><span style="white-space:pre">	</span>Button start = (Button)findViewById(R.id.toSecond);
start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,SecondActivity.class);
Bundle data = new Bundle();
data.putString("name","Jack");
data.putInt("age",23);
i.putExtras(data);
startActivity(i);
}
});</span>


2、在第二个activity中进行数据读取

<span style="font-size:18px;"><span style="font-size:18px;">Intent i = getIntent();
Bundle data = i.getExtras();
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText(String.format("name=%s,age=%d,name1=%s",data.getString("name"),data.getInt("age"),data.getString("name1","LJaer")));</span></span>


通过向intent中传入一个Bundle类型的字符串进行数据传递,name1 没有数值,进行默认LJaer设置

第二种方法

1、在第一个activity中

<span style="font-size:18px;">start.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(MainActivity.this,SecondActivity.class);
Bundle data = new Bundle();
data.putString("name","Jack");
data.putInt("age",23);
//i.putExtras(data);
i.putExtra("info",data);
startActivity(i);
}
});</span>
<span style="font-size:18px;">
</span>
<span style="font-size:18px;">2、在第二个activity中</span>
<pre name="code" class="java"><span style="font-size:18px;">Intent i = getIntent();
//Bundle data = i.getExtras();
Bundle data = i.getBundleExtra("info");
TextView textView = (TextView) findViewById(R.id.textView);
textView.setText(String.format("name=%s,age=%d,name1=%s",data.getString("name"),data.getInt("age"),data.getString("name1","LJaer")));</span>



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: