Я хочу настроить мое приложение для выпечки так, чтобы для планшета оно отображало макет с двумя панелями (2 фрагмента):
Фрагмент A = Левая панель: содержит шаги рецепта, перечисленные в RecyclerView и Fragment B = Right панель: содержит подробности шага
В случае мобильного телефона (где для макета xml установлено значение меньше w600dp), я хочу показать только фрагмент A.
Вот код в моем Действие, которое содержит эти два фрагмента:
public class RecipeActivity extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_recipe);
// Instantiate Fragment Manager in charge of fragments associated with this Activity
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
RecipeFragment recipeFragment = new RecipeFragment();
fragmentTransaction.add(R.id.recipe_container, recipeFragment).commit();
RecipeDetailsFragment recipeDetailsFragment = new RecipeDetailsFragment();
fragmentManager.beginTransaction().add(R.id.recipe_details_container, recipeDetailsFragment).commit();
}
}
}
Приложение выдает эту ошибку при запуске в эмуляторе мобильного экрана:
java .lang.IllegalArgumentException: не найдено представление для id 0x7f070081 (com.example.bakingapp: id / recipe_details_container) для фрагмента RecipeDetailsFragment {a70b224 (264e9189-e051-400b-9899-ba42871c2f89) id = 0x7f0700
* 1015 recipe_details_container для менеджера транзакций, тогда фрагмент сможет загружаться без проблем.
Итак, мои вопросы:
- Может кто-нибудь объяснить что мне нужно кодировать в этом методе, чтобы учесть случай планшета?
- Думаю, что я что-то упустил в моем понимании, некоторые уточнения были бы полезны.