[android]Intent跳转新的Activity可以传递数据过去

两种方式:

一,直接通过Bundle对象来传递:

  如果我们想要给“收件人”Activity说点什么的话,那么可以通过下面这封“E-mail”来将我们的消息传递出去

  Intent intent=new Intent(CurrentActivity.this,OtherActivity.class);

  //创建一个带“收件人地址“的email

  Budle budle = new Budle();

  //创建email内容

  bundle.putBoolean("boolean_key",true);//编写内容

  bundle.putString("string_key","string_value");

  intent.putExtra("key",budle);//封装email

  startActivity(intent);//启动新的Activity

 

二,使用Intent定义的Bundle对象

  上面我们通过bundle对象来传递信息,bundle维护了一个HashMap<String,Object>对象,将我们的数据存贮在这个HashMap中来进行传递,

但是像上面这样的代码稍显复杂,因为Intent内部为我们准备好了一个bundle,所以我们也可以使用这种更为简便的方法:

  Intent intent = new Intent(EX06.this, OtherActivity.class);

  intent.putExtra("boolean_key",true);

  intent.putExtra("String_key","string_value");

  startActivity(intent);

接受:

  Intent intent = getIntent();

  intent.getBooleanExtra("boolean_key",false);

  intent.getStringExtra("string_key");

 

 

例如

//Item单击事件,单击后跳转到新的Activyty,并显示完整的内容
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {


//获取当前Item的完整数据
Blog bg = blogList.get(position);
String tile = bg.getBlogTile();
String contents =bg.getBlogText();

//开始一个新的intent
Intent intent = new Intent(PULLParserActivity.this, BlogActivity.class);
intent.putExtra(KEY_TILE, tile);
intent.putExtra(KEY_CONTENTS, contents);
startActivity(intent);
}

 

新的Activity里

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_blog);

//接受intent数据

Intent intent = getIntent();

String tile = intent.getStringExtra(KEY_TILE);
String contents = intent.getStringExtra(KEY_CONTENTS);

tvTile = (TextView) findViewById(R.id.textView_tile2);
tvContents = (TextView) findViewById(R.id.textView_contents2);

tvTile.setText(tile);
tvContents.setText(contents);

}




 

转载于:https://www.cnblogs.com/julyme/p/4198593.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值