如何在Android中使用Intent实现一个页面跳转功能

如何在Android中使用Intent实现一个页面跳转功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

首先需要在MainActivity中对页面注册,比如

如何在Android中使用Intent实现一个页面跳转功能

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

activity_other

<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第二个Activity"/>
</LinearLayout>

Java代码

OtherActivity

importandroid.support.v7.app.AppCompatActivity;
importandroid.view.View;
publicclassOtherActivityextendsAppCompatActivity{
@Override
publicvoidsetContentView(Viewview){
super.setContentView(R.layout.activity_other);

}
}

程序主界面activity_main.xml

<?xmlversion="1.0"encoding="utf-8"?>
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第一个Activity"/>
<Button
android:id="@+id/start_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="页面跳转"/>
</LinearLayout>

Java代码

MainActivity

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中

//当点击事件触发后执行,启动OtherActivity
//创建一个Intent对象
Intentintent=newIntent();
intent.setClass(MainActivity.this,OtherActivity.class);//从MainActivity跳转到OtherActivity
intent.putExtra("姓名","小李");
startActivity(intent);

在被跳转的OtherActivity中

Intentintent=newIntent();
Stringname=intent.getStringExtra("姓名");

可以接收由MainActivity传来的数据

又或者

Intentintent=newIntent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
startActivity(intent);

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

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

如设置为跳转打开网址时,需要在AndroidManifast中注册一下<data android:scheme="http"/>

如下:

<activityandroid:name=".MainActivity">
<intent-filter>
<actionandroid:name="android.intent.action.VIEW"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
<dataandroid:scheme="http"/>
</intent-filter>
</activity>

看完上述内容,你们掌握如何在Android中使用Intent实现一个页面跳转功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注恰卡编程网行业资讯频道,感谢各位的阅读!

发布于 2021-02-24 07:35:10
收藏
分享
海报
0 条评论
161
上一篇:如何在Python项目中利用Django框架实现一个支付宝付款功能 下一篇:怎么在Android项目中实现一个倒计时结束后跳转页面功能
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码