2013-11-26 3 views
3

Я пытаюсь переключить свои фрагменты из классической реализации в AndroidAnnotations. Когда я использую @EFragment (R.layout.my_fragment), я получаю пустой вид.Inject view in fragment with AndroidAnnotations

@EFragment(R.layout.my_fragment) 
    public class MyFragment extends Fragment { 
} 

Если я так это нормально:

public class MyFragment extends Fragment { 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.my_fragment, container, false); 
     return view; 
    } 
} 

Что мне не хватает? В документации сказано, чтобы добавить подчеркивание, когда фрагмент создании экземпляра, как:

MyFragment fragment = new MyFragment_(); 

вместо:

MyFragment fragment = new MyFragment(); 

Но, как я ожидал, это просто дает ошибку компиляции.

+1

Вы проверили, что файл 'MyFragment_' был сгенерирован? –

ответ

4

я нашел проблему, которая была очень проста:

После добавления AndroidAnnotations в мой фрагмент, я просто забыл обновить импорт его в моем Activty. Это необходимо, чтобы перейти от:

import com.project.ui.fragment.MyFragment; 

к:

import com.project.ui.fragment.MyFragment_; 

После этого следующее:

MyFragment fragment = new MyFragment_(); 

работает лучше, по-видимому.

+0

Но фрагмент не вводится, было объявлено, я прав? – Fred37b