为了账号安全,请及时绑定邮箱和手机立即绑定

从Activity上下文外部调用startActivity()

从Activity上下文外部调用startActivity()

蝴蝶刀刀 2019-08-15 16:06:53
从Activity上下文外部调用startActivity()我ListView在我的Android应用程序中实现了一个。我ListView使用类的自定义子类绑定到此ArrayAdapter。在重写ArrayAdapter.getView(...)方法中,我指定了一个OnClickListener。在onClick方法中OnClickListener,我想发布一个新活动。我得到了例外:Calling startActivity() from outside of an Activity  context requires the   FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?我怎样才能获得Context的ListView(当前Activity)下工作?
查看完整描述

3 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

  • 通过适配器中的构造函数缓存Context对象,或

  • 从你的角度来看。

或作为最后的手段,

  • 添加 - FLAG_ACTIVITY_NEW_TASK标记到您的意图:

_

myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

编辑 - 我会避免设置标志,因为它会干扰正常的事件流和历史堆栈。


查看完整回答
反对 回复 2019-08-15
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

您可以使用addFlags代替它来实现它setFlags

myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

根据文件,它做:

向intent添加其他标志(或使用现有标志值)。


编辑

请注意,如果你使用的是改变历史堆栈的标志,Alex Volovoy的回答是:

...避免设置标志,因为它会干扰事件和历史堆栈的正常流动。


查看完整回答
反对 回复 2019-08-15
?
呼唤远方

TA贡献1856条经验 获得超11个赞

而不是(getApplicationContext)使用YourActivity.this


查看完整回答
反对 回复 2019-08-15
  • 3 回答
  • 0 关注
  • 476 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信