Я недавно начал использовать фрагменты в новом проекте, и вот код, который я использую
Я не наследую от класса RoboFragment, но я делаю то же самое,добавив следующие строки в мои методы onCreate и onViewCreated.Наследование от RoboFragment не должно вести себя по-другому, на самом деле именно так выглядит RoboFragment.
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
RoboGuice.getInjector(getActivity()).injectMembersWithoutViews(this);
}
public void onViewCreated(final View view, final Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
RoboGuice.getInjector(getActivity()).injectViewMembers(this);
// Do whatever with your injected views.
}
Очевидно, я также реализовал onCreateView.
Затем в своей Деятельности я расширяю FragmentActivity.так как я использую пакет совместимости .Обратите внимание, что вы должны использовать FragmentActivity, если хотите совместимости с уровнем API до 11. Если вы просто поддерживаете 11+, вам не нужна библиотека совместимости или использование FragementActivity.Затем в своей деятельности я использую следующее, чтобы добавить фрагмент на мою страницу.
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.add(R.id.fragmentHolder, new MyFragment());
transaction.commit();
Тип R.id.fragmentHolder - это FrameLayout.
С этим все работает нормальнои я могу использовать все свои ресурсы и представления в моем фрагменте.Для полноты картины я использую последнюю версию 2.0-SNAPSHOT roboguice с версией r6 библиотеки compatibilitybity-v4 против Android 2.2.1.