我有一个显示一些 OverlayItems
的 map View Activity 。例如,在叠加层的 onTap
方法中,我想触发一个新 Activity ,将这张叠加层照片显示为全屏。
当我在覆盖类中执行此操作时:
Intent intent = new Intent();
intent.setClass(getApplicationContext, FullscreenView.class);
startActivity(intent);
.. 它找不到应用程序上下文,因为我不在 Activity 范围内。
当我向我的主要 Activity 添加一个方法时,比如说 startFullscreen
:
public static void startFullscreen() {
if (sCurrentPhoto != null) {
Intent intent = new Intent();
intent.setClass(getApplicationContext(), FullscreenView.class);
startActivity(intent);
}
}
我无法调用 getApplicationContext()
和 startActivity()
,因为我处于静态上下文中。但是我需要静态方法在 MainView.startFullscreen()
等 Overlay 类中调用它。
简单地说:如何从非 Activity 类启动 Activity?
最佳答案
一旦你在 onTap() 中获得了上下文,你也可以这样做:
Intent myIntent = new Intent(mContext, theNewActivity.class);
mContext.startActivity(myIntent);
关于android - 如何从非 Activity 类启动 Activity?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4298225/