这个问题旨在向社区询问我为我的应用程序采取的方法是否正确或可能有一些副作用:
我创建了: - 一个名为 MasterAcitity 的 Activity,从我的应用程序中的每个 Activity 扩展而来。清单中的应用程序标签声明如下
<application
android:name="my.package.name.MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/ApplicationStyle" >
一个名为 MyApplication 的类,它扩展了 android.App.Application,它具有以下代码
private static Context _context; public static Context getContext() { return _context; } public static void setContext(Context context) { _context = context; }
在清单中,应用程序标签声明如下
<application android:name="my.package.name.MyApplication" android:icon="@drawable/icon" android:label="@string/app_name" android:theme="@style/ApplicationStyle" >
MasterActivity 在 OnResume 和 OnCreate 方法中执行此代码
MyApplication.setContext(this);
应用程序的每个活动都扩展了 MasterActivity。
应用程序中有一个名为 DialogHelper 的类,它有一个静态方法
public static void showDialog(String message)
用于android.app.AlertDialog.Builder
创建和显示使用上下文的对话框MyApplication.getContext()
所以从我的应用程序的任何地方我都可以使用
DialogHelper.showDialog("my message");
这种方法行得通吗?或者我需要注意什么?
我的疑问在于静态上下文...
谢谢