2013-02-07 3 views
1

У меня есть этот код:Нелегальная Вложение Instance внутри фрагмента

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 var? Выполнение этого вызова static не является вариантом ... Как я могу получить ссылку на экземпляр MainFragmentActivity?

+2

Что именно вы пытаетесь сделать? –

+0

Вы уже создали экземпляр для 'MainFragmentActivity', и вы все еще спрашиваете, как это сделать? – Smit

+1

Do 'new MainFragmentActivity.MasterFrag()', если вы еще не импортировали классы, если пытаетесь создать экземпляры закрытых классов. –

ответ

2

Я считаю, что вы получите эту ошибку компиляции, если внутренний класс MasterFrag объявлен статичным. Правильный способ его создания:

MainFragmentActivity.MasterFrag mm = new MainFragmentActivity.MasterFrag(); 
Смежные вопросы