【问题标题】:How Do I Get The Currently Running Activity In My Application?如何在我的应用程序中获取当前正在运行的活动?
【发布时间】:2011-01-25 18:58:17
【问题描述】:

我有一个类需要访问我的应用程序的主要活动,但由于设计超出了我的控制范围,我无法将实例传递给它。其目的是动态创建视图并将其设置为活动。

有没有办法让我通过静态方法访问主要活动?还是有替代方案?

【问题讨论】:

  • 您能解释一下为什么不能将活动/上下文传递给您的班级吗?你肯定会在某个地方构造它,你可以将上下文传递给构造函数。
  • 由于Android会为你创建Activity实例,并且它可以在内存情况需要时随时重新创建,所以有一个指向它的静态指针是没有意义的。如果您解释为什么您需要访问该活动,您实际上想要完成什么,我们可能会为您指明正确的方向。根据您所说,听起来 Activity 应该可以访问您的课程,而不是相反。
  • 该应用程序基于 NDK。 C++ 代码通过 JNI 创建我的 Java 类的实例。理论上,Java 类创建了一个 WebView。 C++ 代码和 Java 类都没有通过主要活动。
  • 为什么Java类创建一个WebView,而不是Activity创建一个web view?听起来您想使用一些参数启动 Activity,也许使用 Intent Extras?
  • 我的主要应用是一个基于 NDK 的游戏。它并不总是需要一个 WebView。 WebView 将在用户单击主菜单中的某个项目时创建,并在完成后消失。

标签: android view android-activity


【解决方案1】:

根据上面的 cmets,也许您只需要在 Application/Activity onCreate 中初始化的静态上下文实例?

【讨论】:

  • 我采用了这种解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多