我有这个代码:
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
此代码块位于 FragmentActivity
内的 Fragment
(非静态)内的静态方法内。我不确定如何声明这个 a
变量?使它成为一个 static
调用也不是一个选项...我怎样才能获得对 MainFragmentActivity
实例的引用?
最佳答案
如果内部类 MasterFrag 被声明为静态,我相信您会遇到此编译错误。实例化它的正确方法是:
MainFragmentActivity.MasterFrag mm = new MainFragmentActivity.MasterFrag();
关于java - fragment 内的非法封闭实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14760339/