如何使用Intent实现Android间的页面跳转
如何使用intent实现android间的页面跳转,应朋友们反馈的android基础薄弱的问题,决定出一套android基础教程,帮助大家复习,巩固android基础,今天要讲的是android中的intent实现android间的页面跳转。
增加acrivity页面时,首先需要在mainactivity中对页面注册,比如
新建被跳转的页面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 plaincopyimportandroid.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 plaincopyimportandroid.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 plaincopyintentintent=getintent();
stringname=intent.getstringextra("姓名");
可以接收由mainactivity传来的数据
又或者
[java]view plaincopyintentintent=newintent(intent.action_dial);
intent.setdata(uri.parse("tel:10086"));
startactivity(intent);
可以调用拨打电话界面并设定预设号码为10086
还可以设置网址的跳转,显示地理位置等
如设置为跳转打开网址时,需要在androidmanifast中注册一下。
上一篇: ios学习--RSA加密与破解 (SSL/TLS协议)
下一篇: *~大家都向往的地方