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

从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?

我怎样才能获得ContextListView(当前Activity)下工作?


蝴蝶刀刀
浏览 477回答 3
3回答

慕的地6264312

或通过适配器中的构造函数缓存Context对象,或从你的角度来看。或作为最后的手段,添加 - FLAG_ACTIVITY_NEW_TASK标记到您的意图:_myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);编辑 - 我会避免设置标志,因为它会干扰正常的事件流和历史堆栈。

拉风的咖菲猫

您可以使用addFlags代替它来实现它setFlagsmyIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);根据文件,它做:向intent添加其他标志(或使用现有标志值)。编辑请注意,如果你使用的是改变历史堆栈的标志,Alex Volovoy的回答是:...避免设置标志,因为它会干扰事件和历史堆栈的正常流动。

呼唤远方

而不是(getApplicationContext)使用YourActivity.this
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android