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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 关于学习的名言_classnotdeffounderror

    关于学习的名言_classnotdeffounderror 现在java编程中经常碰到ClassCastException错误,ClassCastException是JVM在检测到两个类型间的转换不兼容时引发的运行时异常。此类错误通常会终止用户请求。本模式试图为您提供了解和排除ClassCastException错误最常见成因的一些基本要素。为什么发生此问题?在执行几乎任何子系统(Web容器、EJB、JCA、群集等)的应用程序代码或…

    2022年9月10日
    0
  • keil5使用技巧

    keil5使用技巧文章目录前言1、关闭其他文件2、keil注释如何不乱码4、每段程序后都要空行5、添加头文件6、开启和关闭工程列表框7、找到库函数总结前言1、关闭其他文件2、keil注释如何不乱码4、每段程序后都要空行5、添加头文件6、开启和关闭工程列表框7、找到库函数方法就是打开一个.h文件拖到最后→看到如下字样的,就是库函数了/**@defgroupGPIO_Exported_Functions@{*/例如:找EXTI的库函数打开exti.h文件,拖到最后,这些就是EXTI

    2022年5月23日
    59
  • pxe装机「建议收藏」

    pxe装机「建议收藏」安装环境:一台已安装Linux系统的主机作为PXEServer,本文中PXEServer使用的系统是CentOS7;若干台待安装CentOS7的裸主机作为PXEClient;PXEServer与所有PXEClient处于同一局域网中;所有主机支持PXE启动安装方式。PXEServer安装及配置流程:\1.配置DHCP服务\2.配置TFTP服务\3.配…

    2022年6月16日
    29
  • Linux下使用rm删除文件,并排除指定文件

    Linux下使用rm删除文件,并排除指定文件

    2022年2月17日
    87
  • 【C++深陷】之“decltype”[通俗易懂]

    【C++深陷】之“decltype”[通俗易懂]decltype被称作类型说明符,它的作用是选择并返回操作数的数据类型。随着程序越来越复杂,有时候根本搞不清到底需要什么类型,不得不回过头去从上下文进行推测。decltype可以作用于变量,也可以作用于表达式。

    2022年9月10日
    0
  • 设计模式——门面模式「建议收藏」

    设计模式——门面模式「建议收藏」今天我们继续来学习前面没有学完的结构型设计模式中的一种:门面模式。门面模式也是一种不太常用的设计模式。所以,我们今天依旧是了解为主,暂时不去深入的学习。概述门面模式:(FacadeDesignPattern)门面模式也叫外观模式,门面模式为子系统提供一组统一的接口,定义一组高层接口让子系统更易用。门面模式原理和实现也比较简单,应用场景也比较明确,主要在接口设计方面使用。何时使用:解决易用性问题。解决性能问题。解决分布式事务问题。UML类图:角色组成:门面角色:客户端调用这个

    2025年6月6日
    0

发表回复

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

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