누군가 도와 드릴 수 있기를 바랍니다. 정적 메서드에서 fragmentmanager에 액세스해야하는 비 활동 클래스가 있습니다. 불행히도 컨텍스트를 올바르게 전달하는 방법을 알지 못합니다. 어떤 도움에 감사드립니다비 활동 클래스의 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");
..
}
}
의 I 컨텍스트를 전달하려고하는 checkNewdata도 비 활동 클래스에서 호출되는 방법,하지만이 어쩌려 구`t 작업 :
public class SearchResponse extends SuccessResponse {
private Context mcontext;
public SearchResponse(Context context){
mcontext = context;
}
..
@Override
public void save() {
..
testClass.checkNewdata(mainData, context);
..
}
}
정적 메소드에서 'Context' 참조를 보유하는 것은 좋지 않습니다. 대안을 찾기보다는 디자인을 다시 생각해 보는 것이 좋습니다. –