欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

如何使用Intent实现Android间的页面跳转

程序员文章站 2022-06-23 15:39:54
如何使用intent实现android间的页面跳转,应朋友们反馈的android基础薄弱的问题,决定出一套android基础教程,帮助大家复习,巩固android基础,今天要讲的是android中的...

如何使用intent实现android间的页面跳转,应朋友们反馈的android基础薄弱的问题,决定出一套android基础教程,帮助大家复习,巩固android基础,今天要讲的是android中的intent实现android间的页面跳转。

增加acrivity页面时,首先需要在mainactivity中对页面注册,比如

如何使用Intent实现Android间的页面跳转

新建被跳转的页面otheractivity,其对应的xml文件如下

activity_other

[html]view plaincopy

android:layout_height="match_parent">

android:layout_width="wrap_content"android:layout_height="wrap_content"

android:text="第二个activity"/>

java代码

otheractivity

[java]view plaincopy

importandroid.support.v7.app.appcompatactivity;

importandroid.view.view;

publicclassotheractivityextendsappcompatactivity{

@override

publicvoidsetcontentview(viewview){

super.setcontentview(r.layout.activity_other);

}

}

程序主界面activity_main.xml

[html]view plaincopy

android:layout_height="match_parent"

android:orientation="vertical">

android:layout_width="wrap_content"android:layout_height="wrap_content"

android:text="第一个activity"/>

android:id="@+id/start_btn"android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="页面跳转"/>

 

java代码

mainactivity

[java]view plaincopy

importandroid.content.intent;

importandroid.support.v7.app.appcompatactivity;

importandroid.os.bundle;

importandroid.view.view;

importandroid.widget.button;

publicclassmainactivityextendsappcompatactivity{

privatebuttonstartbutton;

@override

protectedvoidoncreate(bundlesavedinstancestate){

super.oncreate(savedinstancestate);

setcontentview(r.layout.activity_main);

startbutton=findviewbyid(r.id.start_btn);

startbutton.setonclicklistener(newbuttonlistener());

}

classbuttonlistenerimplementsview.onclicklistener{

@override

publicvoidonclick(viewv){

//当点击事件触发后执行,启动otheractivity

//创建一个intent对象

intentintent=newintent();

intent.setclass(mainactivity.this,otheractivity.class);//从mainactivity跳转到otheractivity

startactivity(intent);

}

}

}

另外除了上述的显式intent,还有隐式intent,隐式intent可以用来传递数组及动作状态

比如在mainactivity中

[java]view plaincopy

//当点击事件触发后执行,启动otheractivity

//创建一个intent对象

intentintent=newintent();

intent.setclass(mainactivity.this,otheractivity.class);//从mainactivity跳转到otheractivity

intent.putextra("姓名","小李");

startactivity(intent);

在被跳转的otheractivity中

[java]view plaincopy

intentintent=getintent();

stringname=intent.getstringextra("姓名");

可以接收由mainactivity传来的数据

又或者

[java]view plaincopy

intentintent=newintent(intent.action_dial);

intent.setdata(uri.parse("tel:10086"));

startactivity(intent);

可以调用拨打电话界面并设定预设号码为10086

还可以设置网址的跳转,显示地理位置等

如设置为跳转打开网址时,需要在androidmanifast中注册一下。