应朋友们反馈的Android基础薄弱的问题,决定出一套Android基础教程,帮助大家复习,巩固Android基础,今天要讲的是Android中的Intent实现Android间的页面跳转。
增加Acrivity页面时,首先需要在MainActivity中对页面注册,比如
新建被跳转的页面OtherActivity,其对应的xml文件如下
activity_other
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: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
import android.support.v7.app.AppCompatActivity; import android.view.View; public class OtherActivity extends AppCompatActivity { @Override public void setContentView(View view) { super.setContentView(R.layout.activity_other); } }
程序主界面activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns: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
import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button startButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); startButton = findViewById(R.id.start_btn); startButton.setOnClickListener(new ButtonListener()); } class ButtonListener implements View.OnClickListener{ @Override public void onClick(View v) { //当点击事件触发后执行,启动OtherActivity //创建一个Intent对象 Intent intent =new Intent(); intent.setClass(MainActivity.this,OtherActivity.class);//从MainActivity跳转到OtherActivity startActivity(intent); } } }
另外除了上述的显式Intent,还有隐式Intent,隐式Intent可以用来传递数组及动作状态
比如在MainActivity中
//当点击事件触发后执行,启动OtherActivity //创建一个Intent对象 Intent intent =new Intent(); intent.setClass(MainActivity.this,OtherActivity.class);//从MainActivity跳转到OtherActivity intent.putExtra("姓名","小李"); startActivity(intent);
在被跳转的OtherActivity中
Intent intent =new Intent(); String name = intent.getStringExtra("姓名");
可以接收由MainActivity传来的数据
又或者
Intent intent = new Intent(Intent.ACTION_DIAL); intent.setData(Uri.parse("tel:10086")); startActivity(intent);
可以调用拨打电话界面并设定预设号码为10086
还可以设置网址的跳转,显示地理位置等
如设置为跳转打开网址时,需要在AndroidManifast中注册一下<data android:scheme="http"/>
如下:
<activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.VIEW"/> <category android:name="android.intent.category.DEFAULT"/> <data android:scheme="http"/> </intent-filter> </activity>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
本文向大家介绍Spring boot 跳转到jsp页面的实现方法,包括了Spring boot 跳转到jsp页面的实现方法的使用技巧和注意事项,需要的朋友参考一下 本人正在学习Spring boot,搜索了很多关于Spring boot 跳转到jsp页面的实现方法介绍,下面我来记录一下,有需要了解的朋友可参考。希望此文章对各位有所帮助。 @Controller注解 1、application.pr
本文向大家介绍Android Intent实现页面跳转的两种方法,包括了Android Intent实现页面跳转的两种方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了Intent实现页面跳转的两种的方法,供大家参考,具体内容如下 下图中两个不同的方法就是两种页面之间跳转的情况 1).跳转不返回数据 2).跳转返回数据 实例: 第一种启动方式(跳转不返回数据) 第二种启动方式(跳转
本文向大家介绍html实现页面跳转都有哪些方法?相关面试题,主要包含被问及html实现页面跳转都有哪些方法?时的应答技巧和注意事项,需要的朋友参考一下 创建A标签跳转 form submit
本文向大家介绍vue-router跳转页面的方法,包括了vue-router跳转页面的方法的使用技巧和注意事项,需要的朋友参考一下 使用 Vue.js 做项目的时候,一个页面是由多个组件构成的,所以在跳转页面的时候,并不适合用传统的 href,于是 vue-router 应运而生 官方文档请点击这里 ## vue-router 第一步当然是安装了,用npm安装命令 第二步在.vue组件里添加标签,
本文向大家介绍PHP curl实现抓取302跳转后页面的示例,包括了PHP curl实现抓取302跳转后页面的示例的使用技巧和注意事项,需要的朋友参考一下 PHP的CURL正常抓取页面程序如下: 如果你抓取到的是302状态,是因为再抓取的过程中,有的跳转需要给下一个链接传递参数,而下一个链接同时也设置了如果没接收到相应的参数是为非法访问。 显示就应该正常了。 上面用来抓取功能,几乎应该没问题的。你
本文向大家介绍JavaScript中通过提示框跳转页面的方法,包括了JavaScript中通过提示框跳转页面的方法的使用技巧和注意事项,需要的朋友参考一下 通过提示框跳转页面具体代码如下所示: 下面给大家介绍几种比较常见的js实现页面跳转的方式 第一种: 第二种: 第三种: 第四种: 第五种: 接着给大家介绍js使用弹出窗口实现页面跳转的几种方式 —————————————————————————