java - fragment 内的非法封闭实例

标签 java android class

我有这个代码:

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/

相关文章:

java - Recyclerview 具有水平项目,因为它是一张 table ?

java - 问题,如何修复android中从URL获取JSON?,Onclicklistener?异步任务?执行后?

Android:当 wal 存在时执行数据更新后复制 db 文件不起作用

HIbernate自动增量不起作用

Java 字符串匹配正则表达式

java - Java中准确检测socket发送失败

java - “找不到或加载主类”是什么意思?

python - __sizeof__ 没有被 sys.getsizeof 调用

java - 在 Java 中设置 Map<K,V> 中的 <T>

java - 使用 while 循环的选举程序中的错误