Android实现Activity之间通信的方法
程序员文章站
2023-08-12 16:01:52
本文实例讲述了android实现activity之间通信的方法。分享给大家供大家参考。具体如下:
在一个activity中可以使用系统提供的startactivity(i...
本文实例讲述了android实现activity之间通信的方法。分享给大家供大家参考。具体如下:
在一个activity中可以使用系统提供的startactivity(intent intent)方法打开新的activity,在打开新的activity前,你可以决定是否为新的activity传递参数。
第一种:打开新的activity,不传递参数
public class mainactivity extends activity { @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); button btnopen=(button)this.findviewbyid(r.id.btnopen); btnopen.setonclicklistener(new view.onclicklistener(){ public void onclick(view v) { //新建一个显式意图,第一个参数为当前activity类对象,第二个参数为你要打开的activity类 startactivity(new intent(mainactivity.this, otheractivity.class)); } }); } }
第二种:打开新的activity,并传递若干个参数给它
package com.ljq.activitys; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.view; import android.widget.button; public class mainactivity extends activity { @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); button btnopen=(button)this.findviewbyid(r.id.btnopen); btnopen.setonclicklistener(new view.onclicklistener(){ public void onclick(view v) { //第一种:打开新的activity,不传递参数 //新建一个显式意图,第一个参数为当前activity类对象,第二个参数为你要打开的activity类 //startactivity(new intent(mainactivity.this, otheractivity.class)); //第二种:打开新的activity,并传递若干个参数给它 intent intent=new intent(mainactivity.this, otheractivity.class); //bundle类用作携带数据 bundle bundle=new bundle(); bundle.putstring("name", "linjiqin"); bundle.putint("age", 24); //附带上额外的数据 intent.putextras(bundle); startactivity(intent); } }); } }
在新的activity中接收前面activity传递过来的参数
package com.ljq.activitys; import android.app.activity; import android.os.bundle; import android.util.log; public class otheractivity extends activity { private final static string tag="otheractivity"; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.other); //在新的activity中接收前面activity传递过来的参数 bundle bundle=this.getintent().getextras(); string name=bundle.getstring("name"); integer age=bundle.getint("age"); log.i(tag, name+" : "+age); } }
希望本文所述对大家的android程序设计有所帮助。
上一篇: 痛风与芹菜有关系吗?芹菜有什么功效