我有这个代码:
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
此代码块位于Fragment
内部的静态方法内部(非静态),位于FragmentActivity
内部。我不知道如何声明这个a
变量?将其作为static
调用也不是一种选择。。。如何获取对MainFragmentActivity
实例的引用?
如果内部类MasterFrag被声明为静态的,我相信您会得到这个编译错误。实例化它的正确方法是:
MainFragmentActivity.MasterFrag mm = new MainFragmentActivity.MasterFrag();