activity和task_startactivity无效

activity和task_startactivity无效我现在需要在点击listview的某个item的时候启动一个activity,因为我的listview不在activity中,所以为了简便我直接用context来调用activity,如下:Intentintent=newIntent(view.getContext(),BlogDetail.class);intent.putExtra(“blog_id”,blog.getId());…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

我现在需要在点击listview的某个item的时候启动一个activity,因为我的listview不在activity中,所以为了简便我直接用context来调用activity,如下:

Intent intent = new Intent(view.getContext(), BlogDetail.class);

intent.putExtra(“blog_id”, blog.getId());

view.getContext().startActivity(intent);

运行时却曝出如下错误:

Caused by: android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

原因:Context中有一个startActivity方法,Activity继承自Context,重载了startActivity方法。如果使用Activity的startActivity方法,不会有任何限制,而如果使用Context的startActivity方法的话,就需要开启一个新的task,遇到上面那个异常的,都是因为使用了Context的startActivity方法。解决办法是,加一个flag。intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

这样就可以再新的task里面启动这个Activity了。

但是我们并不提倡这样做,在不是必须要new task 的情况下尽量使用Intent intent = new Intent(OOXXActivity.this, ImageSwitcherActivity.class);

OOXXActivity.this.startActivity(intent);

来启动一个新的acticity,不然acticity的history会乱套,并且在关闭应用时需要做更多的工作。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/185429.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月6日 上午8:16
下一篇 2022年10月6日 上午8:36


相关推荐

  • Qt配置OpenCV教程,亲测已试过(详细版)[通俗易懂]

    Qt配置OpenCV教程,亲测已试过(详细版)[通俗易懂]win10系统Qt5.12.9配置OpenCV4.5.1库教程Qt,OpenCV,Cmake详细下载安装教程软件准备首先要说的是装软件还是装最新的好,不用考虑各种软件的版本对应问题,都是最新版的情况下它们互相之间一定是兼容的,下边具体来说下需要的几个软件。64位win10系统Qt5.12.9Cmake3.18.0OpenCV4.5.1以下叙述顺序即为安装配置顺序QtDownload国

    2022年10月4日
    5
  • 使用Pycharm安装pip等模块

    使用Pycharm安装pip等模块Appium 自动化环境搭建简述 python 环境 JDK 环境 AndroidSDK 环境 NETframwork4 0 Appium 安装 一套下来之后 在 cmd 上执行命令 appium doctor 启动 Appium 两者都没有异常就说明安装好了 接下来就是 Appium 实践了 找了个小脚本 跑一下效果 脚本中有这样一行 就是要使用 selenium 模块 fromselenium

    2026年3月27日
    2
  • Autofac学习系列之-入门

    Autofac学习系列之-入门Autofac 是什么 Autofac 是一种 IOC 容器 那么什么是 IOC 容器呢 先说一下两个概念 IOC 和 DI 我的理解 IOC 调用者不再创建 不自己 new 被调用者的实例 而是交给容器去创建 AutoFac 就充当这里的容器 这就是控制反转 DI 容器创建好的实例再注入调用者的过程 就是依赖注入 比如 属性注入 构造函数注入等 控制反转控制反转背后的核心思

    2026年3月17日
    2
  • 永磁同步电机矢量控制(一)——数学模型

    导师研究的课题是永磁同步电机的控制,首先给我安排的任务就是将其矢量控制系统仿真搭建出来。本文记录矢量控制系统学习过程。因为是初学我的理解可能不够,其中每个内容的出处都会在文章内标注出来,大家可以参考原文原著。1、永磁同步电机的数学模型(参考于解小刚、陈进采用Id=0永磁同步电机矢量控制文章)永磁同步电机是一个非线性系统,具有多变量、强耦合的特点。我们对其分析的时候有以下假设:…

    2022年4月6日
    124
  • 全球智能体榜单新SOTA!中国公司登顶,Office三件套一键生成

    全球智能体榜单新SOTA!中国公司登顶,Office三件套一键生成

    2026年3月15日
    2
  • LoadLibrary failed with error 1114:动态链接库(DLL)初始化例程失败 解决方法「建议收藏」

    LoadLibrary failed with error 1114:动态链接库(DLL)初始化例程失败 解决方法「建议收藏」LoadLibraryfailedwitherror1114:动态链接库(DLL)初始化例程失败解决方法

    2022年8月30日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号