小编典典

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

all

我已经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)正在工作的?


阅读 98

收藏
2022-03-21

共1个答案

小编典典

任何一个

  • 通过适配器中的构造函数缓存 Context 对象,或者
  • 从你的角度得到它。

或者作为最后的手段,

  • 在您的意图中添加 - FLAG_ACTIVITY_NEW_TASK 标志:

_

myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

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

2022-03-21