我有以下代码:

MainFragmentActivity a = new MainFragmentActivity();
MainFragmentActivity.MasterFrag mm = a.new MasterFrag(); // a.new
MainFragmentActivity.MasterFrag.MasterTask e = mm.new MasterTask();
e.execute();


在上面引用的a.new行上,它的a有问题。它说:

Illegal enclosing instance specification for type MainFragmentActivity.MasterFrag


此代码块在FragmentFragmentActivity内的静态方法内(不是静态)。我不确定如何声明此a var?将其设为static调用也不是一种选择...如何获得对MainFragmentActivity实例的引用?

最佳答案

我相信,如果内部类MasterFrag被声明为静态的,您将得到此编译错误。实例化它的正确方法是:

MainFragmentActivity.MasterFrag mm = new MainFragmentActivity.MasterFrag();

10-06 12:40