我的编程空间,编程开发者的网络收藏夹
学习永远不晚

AndroidActivity活动页面跳转与页面传值

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

AndroidActivity活动页面跳转与页面传值

概述

Android开发少不了的就是页面之间的跳转,或者想要呼叫打开其他应用等

Intent

Intent是Android程序中各组件之间进行交互的一种重要方式,不仅可以指明当前组件想要执行的运作,还可以在不同组件之间传递数据。

显示Intent启动

第一个参数为启动活动的上下文

第二个参数为想要启动的目标活动


Intent intent = new Intent(MainActivity.this, TabHostActivity.class);
startActivity(intent);

通过这个构造函数就可以构建出Intent的“意图”,且目标明确,所以为显示启动

隐式Intent启动

根据 <intent-filter> 中设定的 action 和 category 来启动,且只有<action>和<category>中的内容同时能够匹配上时,这个活动才能响应。


Intent intent = new Intent("com.zqunyan.zgstudy.ACTION_START");
intent.addCategory("com.zqunyan.zgstudy.MY_CATEGORY");
startActivity(intent);

如果 <intent-filter> 中的 category 值是 android.intent.category.DEFAULT 则可以省略addCategory(),因为DEFAULT是一种默认的 category,在调用 startActivity() 方法的时候会自动添加到 intent 中,即


Intent intent = new Intent("com.zqunyan.zgstudy.ACTION_START");
startActivity(intent);

启动其他程序

使用隐式 Intent,我们不仅可以启动自己程序内的活动,还可以启动其他程序的活动。

网页浏览

action指定为Intent.ACTION_VIEW,其常量值为 android.intent.action.VIEW

然后将网页地址转换成 Uri 对象传递进去


Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("https://www.baidu.com"));
startActivity(intent);

拨号界面

action指定为 Intent.ACTION_DIAL


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

根据包名打开软件

借助androdi内部的 PackageManager 来根据包名取得应用的启动页面


Intent intent = getPackageManager().getLaunchIntentForPackage("com.zqunyan.zgwidget");
if(intent != null){
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
}

根据类名打开界面

常用于打开系统设置界面,用于一些快捷功能设置。借助 Component 来实现

如:下面实例打开华为手机的设置页面


Intent intent = new Intent();
ComponentName componentName = new ComponentName("com.android.settings", "com.android.settings.Settings$DisplaySettingsActivity");
intent.setComponent(componentName);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

startActivityForResult

主页面

跳转按钮点击事件


Intent intent = new Intent(MainActivity.this, ReturnValueActivity.class);
//第二个参数用于处理返回结果是判断是哪个语句调用的
startActivityForResult(intent, 1); //requestCode = 1

处理返回结果


@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent){
    super.onActivityResult(requestCode, resultCode, intent);
    if(requestCode == 1){
        if(resultCode == 1){
            String content = intent.getStringExtra("content");
            lblStatus.setText("success");
    	}else{
            lblStatus.setText("fail");
        }
    } 
}

跳转界面

跳转界面传回返回值,并关闭界面

实例化一个空的 Intent绑定数据到 IntentsetResult() 回传结果值和绑定了数据的 Intent关闭自身,主画面接收返回结果


Intent intent = new Intent();
intent.putExtra("content", txtMessage.getText().toString());
//setResult第一个参数为结果码,常用的有Activity.RESULT_OK、RESULT_CANCELED或者自定义整数型结果码
// 第二个参数为返回值,返回值封装在Intent中
setResult(1, intent); 
finish();

页面传值

Intent.putExtra 传值

传值


intent.putExtra("uname", "admin");

取值


Intent intent = getIntent();
String name = intent.getStringExtra("uname")

借助 Bundle 传值

用于在 Activity 之间传送值或数组资料,好处是当一个页面跳转多个页面时,可以共用bundle。

简单值

打包


Bundle bundle = new Bundle();
bundle.putString("NAME", "QY");
bundle.putInt("AGE", 18);
bundle.putDouble("TALL", 175.86);
bundle.putStringArrayList("lstFilePaths", lstFilePaths);
intent.putExtras(bundle);

收包


Intent intent = this.getIntent();
Bundle bundle = intent.getExtras();
String strName = bundle.getString("NAME");
int intAge = bundle.getInt("AGE");
ArrayList<String> lstFilePaths = bundle.getStringArrayList("lstFilePaths");

StringArrayList

正常传值都为单个实际值,如果想要传送列表数据则一般通过构造函数或参数传递,直接通过 bundle 只能传送 StringArrayList 简单列表类型

自定义数据类

首先将自定义的数据类序列化,即继承 implements Serializable 接口

数据类


public class GoodsInfoModule implements Serializable {}

传值


bundle.putSerializable("goodsInfo", goodsInfo);

取值


goodsInfo = (GoodsInfoModule) bundle.getSerializable("goodsInfo");

到此这篇关于Android Activity活动页面跳转与页面传值的文章就介绍到这了,更多相关Android Activity页面跳转与页面传值内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

AndroidActivity活动页面跳转与页面传值

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

nodejs页面跳转传参

Node.js是一个轻量级的JavaScript运行环境,可以让JavaScript解释器在服务器上运行代码。因此,Node.js成为了一种流行的服务器端开发语言,常用于构建Web应用程序。在Node.js中,使用Express框架可以轻松地构建Web应用程序。在Web应用程序中,经常需要进行页面跳转并传递参数,以便展示不同的页面内容。本文将介绍如何在Express中实现页面跳
2023-05-18

PHP登录成功后传值跳转页面

PHP登录成功后传值跳转页面在Web开发中,用户登录是一个非常基础且常见的功能。在用户成功登录系统后,通常会需要将用户的相关信息传递到下一个页面,以便后续操作或显示用户个性化内容。本文将演示使用PHP实现用户登录成功后传值并跳转页面的具体
PHP登录成功后传值跳转页面
2024-03-12

javascript怎么实现页面跳转和传值

本篇内容介绍了“javascript怎么实现页面跳转和传值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、JavaScript 实现页面跳
2023-07-06

jquery如何实现页面跳转并传值

本文小编为大家详细介绍“jquery如何实现页面跳转并传值”,内容详细,步骤清晰,细节处理妥当,希望这篇“jquery如何实现页面跳转并传值”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、jQuery页面跳转在
2023-07-05

html页面跳转传递参数

HTML页面跳转传递参数是Web开发中常用的技术,通过传递参数可以实现页面之间的数据交互和信息传递,为用户提供更加个性化的服务。本文将介绍如何实现HTML页面跳转传递参数的几种方法。一、URL参数传递URL参数传递是最常用的HTML页面跳转传递参数的方法之一。我们经常看到的URL地址中带有参数信息,例如:http://www.example.com/index.php?id=1
2023-05-14

详细介绍UniApp页面跳转传值的方法

近年来,随着移动互联网技术的发展和移动设备的普及,开发APP已经成为了一种时髦和高效的方式来扩展业务。而UniApp作为一款跨平台开发工具,在应用开发过程中具有很强的便捷性和高效性。然而,对于在开发UniApp应用中涉及到的页面跳转和参数传递时,我们需要使用一些特定的方法,在文章中我们将详细介绍UniApp页面跳转传值的方法。1.使用URL传参UniApp中页面跳转传值的方法是
2023-05-14

uniapp跳转页面传大量参数

随着移动互联网的发展,各种场景下的小程序和H5应用也逐渐涌现,而uniapp作为一种能够同时适配多种平台的开发框架,在跨端开发中具有很大优势。然而,uniapp在跳转页面时,如果需要传递大量参数,则有可能会遇到一些问题。下面将从实际需求出发,介绍uniapp跳转页面传大量参数的解决方案。1. 问题背景在实际项目中,我们可能会遇到这样一种场景,即从一个页面跳转到另一个页面时,需要
2023-05-22

php页面如何自动跳转

这篇“php页面如何自动跳转”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php页面如何自动跳转”文章吧。1、HTTP重定向
2023-07-05

JavaScript怎么实现网页传参跳转页面功能

随着互联网的快速发展,越来越多的网页需要将信息从一个页面传递到另一个页面。传统的方法是使用GET或POST请求,但这种方式需要服务器端的支持,并且不能直接跳转页面。而JavaScript实现网页传参跳转页面,无需服务器支持,可以直接跳转到目标页面。一、获取参数值在JavaScript中,可以通过window.location.search获取跳转页面时传递的参数值。例如,在in
2023-05-14

怎么在html中自动跳转页面

怎么在html中自动跳转页面?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。html有什么特点1、简易性:超级文本标记语言版本升级采用超集方式,从而更加灵活方便,
2023-06-14

PHP怎么使用GET方法进行页面跳转及传值

这篇文章主要介绍“PHP怎么使用GET方法进行页面跳转及传值”,在日常操作中,相信很多人在PHP怎么使用GET方法进行页面跳转及传值问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP怎么使用GET方法进行页
2023-07-05

页面通过response.sendRedirect()跳转后的取值问题

当页面通过`response.sendRedirect()`方法跳转后,原请求的数据将会丢失。这是因为`response.sendRedirect()`方法实际上是发送一个重定向响应给浏览器,浏览器会重新发送一个新的请求到指定的URL,这个
2023-08-08

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录