私のアプリでは、いくつかのダイアログをデバッグとして表示する必要があります。 静的メソッドを使用して静的クラスからダイアログを実際に呼び出して表示する方が簡単なように、アプリケーション自体の構造が記述されています。これらのメソッドはすべて、最終的に要求を処理するより大きなメソッドを指しています。現在のアクティビティの有効な参照を保持する
私が達成したいのは、現在のアクティビティへの参照が必要な最終的なDialog(私はgithubのafollestadによるMaterial Dialogライブラリを使用しています)を呼び出すことです。
私は実際には、クラス内にprivate static Activity sActivity;
フィールドを持ち、相対setActivity(Activity activity)
メソッドを持っています。この
try {
Utils.showSimpleDialog(sActivity, "Error", message);
} catch (MaterialDialog.DialogException d) {
d.printStackTrace();
}
は常にキャッチケースを呼び出しているので、意図したとおりに動作しない
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
@Override
public void onActivityCreated(Activity activity, Bundle savedInstanceState) {
MyStaticClass.setActivity(activity);
}
[...]
}
:
現在、私はこれを呼び出して、そこから自分のCustomApplicationを持っています。
私の質問は、すべてのアクティビティからsetActivity
コールを避けることができますか?はいの場合、どうですか?少し早いですがお礼を!