誰かが助けてくれることを願っています。 staticメソッドでフラグメントマネージャにアクセスする必要がある非アクティビティクラスがあります。残念ながら、コンテキストを正しく渡す方法がわかりません。すべてのヘルプは高く評価され非アクティビティクラスのgetSupportFragmentManagerにアクセスする
、
非アクティビティクラス:
public class testClass {
..
public synchronized static void checkNewdata(List<data>input, Context context) {
..
FragmentManager ft = ((FragmentActivity)???).getSupportFragmentManager();
DialogFragment newFragment = MyNotification.newInstance();
newFragment.setCancelable(false);
newFragment.show(ft, "mydialog");
..
}
}
私はコンテキストを渡すためにしようとしているcheckNewdataも非活動クラスから呼び出されるメソッドが、このdoesnの `tの仕事:
public class SearchResponse extends SuccessResponse {
private Context mcontext;
public SearchResponse(Context context){
mcontext = context;
}
..
@Override
public void save() {
..
testClass.checkNewdata(mainData, context);
..
}
}
静的メソッドで 'Context'リファレンスを保持することは悪い考えです。回避策を探すのではなく、デザインを再考することをお勧めします。 –