OGeek|极客世界-中国程序员成长平台

标题: android - 从 Activity 上下文之外调用 startActivity() [打印本页]

作者: 菜鸟教程小白    时间: 2022-8-1 01:20
标题: android - 从 Activity 上下文之外调用 startActivity()

我已经实现了 ListView在我的 Android 应用程序中。我绑定(bind)到这个 ListView使用 ArrayAdapter 的自定义子类类(class)。在被覆盖的 ArrayAdapter.getView(...) 内部方法,我分配一个 OnClickListener .在 onClick OnClickListener 的方法,我想发起一个新的 Activity 。我得到了异常(exception):

Calling startActivity() from outside of an Activity  context requires the  
FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?

我怎样才能得到 ContextListView (当前 Activity )正在工作?



Best Answer-推荐答案


任何一个

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

  • 或者作为最后的手段,
  • 在您的 Intent 中添加 - FLAG_ACTIVITY_NEW_TASK 标志:

  • _
    myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    

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

    关于android - 从 Activity 上下文之外调用 startActivity(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3918517/






    欢迎光临 OGeek|极客世界-中国程序员成长平台 (https://www.ogeek.cn/) Powered by Discuz! X3.4