Android开发:在非Activity类中,如何实现跳转到另一个Activity
时间:2020-03-26
本文章向大家介绍Android开发:在非Activity类中,如何实现跳转到另一个Activity,主要包括Android开发:在非Activity类中,如何实现跳转到另一个Activity使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
一、Activity之间相互跳转:
Intent intent=new Intent(MainActivity.this, InfoActivity.class); startActivity(intent);
这种是常规操作,无需多做解释。
使用 Activity的startActivity方法,不会有任何限制,因为Activity继承自Context,重载了startActivity方法。
二、非Activity跳转到Activity中:
这种跳转则需要注意,比如在recyclerview控件的每个view的点击事件中,因为是自定义的Adapter,则需要定义一个运行上下文来启动页面跳转:
1、定义全局变量
private Context mContext;
2、使用该全局变量进行页面跳转
Intent intent= new Intent(); intent.setClass(mContext, InfoActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mContext.startActivity(intent);
因为context的startActivity方法,需要开启一个新的task,所以要给intent添加flag,值为Intent.FLAG_ACTIVITY_NEW_TASK。
注:在使用全局变量context时,要在构造函数里进行初始化,否则会报错。
在Activity中将MainActivity.this作为参数传入,在Adapter中以Activity类型接受该参数并赋值给context,完成该全局变量的初始化。
原文地址:https://www.cnblogs.com/guobin-/p/12572924.html
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释