从Activity上下文外部调用startActivity()
我已经在我的Android应用程序中实现了 ListView 。 我使用 ArrayAdapter 类的自定义子类绑定到此 ListView 。 在重写的 ArrayAdapter.getView(...) 方法内部,我分配了一个 OnClickListener 。 我想在 OnClickListener 的 onClick 方法中启动一个新活动。 我得到例外: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 如何获取 ListView (当前 Activity )在其下工作的 Context ? #1楼 您可以使用 addFlags 代替 setFlags 来实现 myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 根据 文档, 它可以: 向意图添加其他标志(或使用现有标志值)。 编辑 请注意,如果您使用的标志会更改历史记录堆栈,如 Alex Volovoy的回答所述 : ...避免设置标志,因为它会干扰事件和历史记录堆栈的正常流程。 #2楼 对于即使在活动中调用StartActivity的情况下,也可以在