我希望有人能提供帮助。 我有一个非 Activity 类,我需要在其中以 static 方法访问 fragmentmanager,不幸的是我不知道如何正确传递上下文。
感谢任何帮助,
非 Activity 类:
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 方法也从非 Activity 类中调用,我尝试在其中传递上下文,但这不起作用:
public class SearchResponse extends SuccessResponse {
private Context mcontext;
public SearchResponse(Context context){
mcontext = context;
}
..
@Override
public void save() {
..
testClass.checkNewdata(mainData, context);
..
}
}
最佳答案
传递你的 Activity 而不是 Context
public synchronized static void checkNewdata(List<data>input, Activity activity) {
..
FragmentManager ft = ((FragmentActivity)activity).getSupportFragmentManager();
DialogFragment newFragment = MyNotification.newInstance();
newFragment.setCancelable(false);
newFragment.show(ft, "mydialog");
..
}
关于android - 在非 Activity 类中获取对 getSupportFragmentManager 的访问权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47418902/