1

私はこのコードを持っています:

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インスタンスへの参照を取得するにはどうすればよいですか?

4

1 に答える 1

4

内部クラスMasterFragが静的であると宣言されている場合、このコンパイルエラーが発生すると思います。それをインスタンス化する正しい方法は次のようになります。

MainFragmentActivity.MasterFrag mm = new MainFragmentActivity.MasterFrag();
于 2014-10-25T20:08:16.317 に答える