zoukankan      html  css  js  c++  java
  • 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,完成该全局变量的初始化

  • 相关阅读:
    说文解字 —— 拆字
    4K 对齐与固态硬盘检测工具
    硬盘分区(主分区、扩展分区、逻辑分区)
    python+caffe训练自己的图片数据流程
    亲和数(220/284)
    浅谈多进程多线程的选择
    Linux下的多线程编程
    LINUX-进程的概念
    Linux终端那件事儿
    Linux的终端类型
  • 原文地址:https://www.cnblogs.com/guobin-/p/12572924.html
Copyright © 2011-2022 走看看