android - 在非 Activity 类中获取对 getSupportFragmentManager 的访问权限

标签 android android-context fragmentmanager

我希望有人能提供帮助。 我有一个非 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/

相关文章:

android - 将数据从当前 fragment 传回前一个 fragment

android - fragment ViewPager NullPointer 问题

android - 我怎样才能在android中播放来自byte的视频

java - Android 编程中的传入短信列表

java - 从异步线程访问Android Activity 堆栈?

android - 如何从其适配器类中获取扩展 ListFragment 的 Activity 的上下文?

android - 在 AsyncTask 期间更改上下文

android - 为什么我在 Android 中得到 "Cannot remove Fragment attached to a different FragmentManager"?

android - 在 Android 屏幕锁定时不调用 BroadcastReceiver

android - 清理未使用的 Android 权限