Intent实现页面跳转
上面2是有返回结果,也就是页面A与B有数据传递。
1.无返回结果的页面跳转方式:
FirstActivity.java (主Activity)
package com.example.test2;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener;public class FirstActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.first_activity);Button btn = (Button) findViewById(R.id.btn1);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/*** 第一个参数:上下文(由于匿名内部类不能访问局部变量,所以需要带类名)* 第二种方式是:定义一个全局变量Context,初始化之后进行访问* 第二个参数:目标文件*/Intent intent = new Intent(FirstActivity.this,SecondActivity.class);FirstActivity.this.startActivity(intent);}});}}
first_activity.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" ><Button android:id="@+id/btn1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="第一种跳转方式"/><Button android:id="@+id/btn2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="第二种跳转方式"/><TextView android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="将第二个页面的结果写到这里"/></LinearLayout>
SecondActivity.java (第二个页面)
package com.example.test2;import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Menu; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener;public class SecondActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.second_activity);}}
second_activity.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" ><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="第二个页面的按钮"/></LinearLayout>
AndroidManifest.xml 清单文件注册Activity
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.test2"android:versionCode="1"android:versionName="1.0" ><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="19" /><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme" ><activityandroid:name="com.example.test2.FirstActivity"android:label="第一个界面" ><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity><activity android:name="com.example.test2.SecondActivity" android:label="第二个界面"></activity></application></manifest>
效果:
2.有返回结果的跳转方式
一个请求码,一个结果码确定是某个页面的回传结果。
FirstActivity
创建Intent,startActivityForResult是打开第二个页面(带着一个请求参数)
onActivityResult:处理回传的数据(根据请求码与回传码确定一个页面)
package com.example.test2;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView;public class FirstActivity extends Activity {private TextView textView1;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.first_activity);Button btn = (Button) findViewById(R.id.btn1);btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/*** 第一个参数:上下文(由于匿名内部类不能访问局部变量,所以需要带类名)* 第二种方式是:定义一个全局变量Context,初始化之后进行访问* 第二个参数:目标文件*/Intent intent = new Intent(FirstActivity.this,SecondActivity.class);FirstActivity.this.startActivity(intent);}});textView1 = (TextView) findViewById(R.id.textView1);Button btn2 = (Button) findViewById(R.id.btn2);btn2.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub/*** 第一个参数:上下文(由于匿名内部类不能访问局部变量,所以需要带类名)* 第二种方式是:定义一个全局变量Context,初始化之后进行访问* 第二个参数:目标文件*/Intent intent = new Intent(FirstActivity.this,SecondActivity.class);/*** intent:目标文件* 1:请求码*/startActivityForResult(intent, 1);}});}/** 处理回传的数据:* requestCode:请求码* resultCode:结果码* data:数据(格式像map)* */@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubsuper.onActivityResult(requestCode, resultCode, data);//如果请求码是1,结果码是2证明是点击第二个按钮时的页面回传的结果if(requestCode==1&&resultCode==2){textView1.setText(data.getStringExtra("data"));}}}
first_activity.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" ><Button android:id="@+id/btn1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="第一种跳转方式"/><Button android:id="@+id/btn2"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="第二种跳转方式"/><TextView android:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="将第二个页面的结果写到这里"/></LinearLayout>
SecondActivity.java
点击按钮的时候,回传数据并且结束自己的页面
package com.example.test2;import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;public class SecondActivity extends Activity {private Button btn3;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.second_activity);btn3 = (Button) findViewById(R.id.sebtn);/*** 回传到第一个页面实际是一个intent对象*/btn3.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View arg0) {// TODO Auto-generated method stub//因为不做页面跳转所以不设置参数Intent data = new Intent();data.putExtra("data", "你好");/*** 回传数据* 第一个参数是回传码,第二个是数据*/setResult(2, data);//结束当前页面,回传到第一个页面 finish();}});}}
second_activity.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" ><Button android:id="@+id/sebtn"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="第二个页面的按钮"/></LinearLayout>
效果:
转载于:https://www.cnblogs.com/qlqwjy/p/7515984.html
Intent实现页面跳转相关推荐
- Intent Bundle页面跳转信息的传递
MainActivity LoginActivity LoginLayout 转载于:https://www.cnblogs.com/xiaolei121/p/5846644.html
- .Net程序猿玩转Android开发---(11)页面跳转
在不论什么程序开发中,都会遇到页面之间跳转的情况,Android开发也不例外.这一节,我们来认识下Android项目中如何进行页面跳转.页面跳转分为有參数和无參数页面跳转,已经接受还有一个页面的返回值 ...
- Android intent 页面跳转
slidemenu_layout 部分列表(点击帮助跳转到user_help_layout.xml页面) //slidemenu_layout.xml <?xml version="1 ...
- android开发 转跳功能,如何在Android中利用Intent实现一个页面跳转功能
如何在Android中利用Intent实现一个页面跳转功能 发布时间:2021-02-20 17:06:31 来源:亿速云 阅读:113 作者:Leah 本篇文章为大家展示了如何在Android中利用 ...
- android数据回传多个页面_Android菜鸟起飞|使用Intent实现Activity跳转的两种方式(无回传数据和有回传数据)...
使用Intent实现Activity跳转的两种方式 1. 使用startActivity(intnet)方法实现无回传数据的Activity跳转: 使用方法: 为实现跳转动作的控件绑定监听器,在点击事 ...
- android上方导航条跳转页面,《成为大前端》系列 7. 多页面、页面跳转和Navigation模块...
介绍 开发过移动 Web 页面的同学都知道,单个页面由客户端的 UI 所承载,页面间的跳转也 不再是使用 window 和 location,也不是使用 a 标签,而且调用 Native 写好的 br ...
- 安卓之页面跳转与传值和按钮事件
一:新建页面 即新建Activity,new-other-Android Activity,next, 新建Activity的时候, 1:eclipse会自动创建Layout,我们发现Layout目录 ...
- Android:页面跳转传参方式一,页面跳转传参方式二
一.页面跳转传参方式一 跳转的过程如何传参:也就是页面之间如何传递参数,有点像函数调用如何传参,页面跳转也要传参. 复制一个工程 你要跳转,(现在的代码如下),intent 既然能设置跳转到哪个页面 ...
- android数据回传多个页面_Android Day06四大组件之Activity多页面跳转和数据传递
ToolBar中menu无法同时显示图标和文字问题的解决方法 Toolbar添加返回按钮 ToolBar与ActionBar 1.什么是Activity 官方文档是这么说的:Anwhich users ...
最新文章
- vue中引入jquery报错问题
- markdown数学公式换行对齐_Markdown语法详细
- 大数据简介,技术体系分类整理
- springboot mysql事物_SpringBoot事务详细简介
- java对类数组进行排序_Java比较器类对数组进行排序
- CSS效果:固定页脚、PNG透明、最小高度 3枚
- ZOJ-1094-Matrix Chain Multiplication
- VMware 虚拟机桥接网络设置
- 虚拟机 系统镜像 下载地址
- 淘宝客系统教学系列_1.简单介绍和平台搭建
- 微信小程序数据拼接_微信小程序数据处理
- 桃源网盘php,桃源居业主自建论坛 - Powered by PHPWind
- PS改变icon图标颜色
- UE4资源————Pak
- 为什么大家都说别去外包?外包公司到底能不能去?
- 电磁兼容测试在测试带载电机控制系统的方法
- 架构师的 36 项修炼1 开篇词:7分钟Get技术人进阶技巧
- 蚂蚁金服智能推荐引擎解决方案与实践 1
- 找出规律快速实现双螺旋矩阵
- 面试心得与总结——BAT、网易、蘑菇街 1
热门文章
- c++矩阵转置_lt;读书笔记4gt; 稀疏矩阵基础算法
- 手把手带你入门Python爬虫(五、CSDN论坛之模型设计)
- BootStrap笔记-信息提示框的使用
- Spring Boot文档阅读笔记-how-to-implement-2-way-ssl-using-spring-boot
- 软考系统架构师笔记-最后知识点总结(四)
- 关于CSDN官方对博文点赞漏洞的处理(Cookie劫持攻击)
- Spring Boot笔记-jQuery使用load进行异步调用
- Qt文档阅读笔记|Qt工作笔记-QMutexLocker的使用(抛出异常也能解锁)
- background 渐变_今日重点:April安卓渐变黑。| 明日日程:BUG修复。
- 史上最简单的 SpringCloud 教程 | 第一篇: 服务的注册与发现(Eureka)(转)