Фрагмент placehoder в макете
Предположим, что у меня есть несколько фрагментов:
public class FirstFragment extends Fragment { ... }
public class SecondFragment extends Fragment { ... }
public class ThirdFragment extends Fragment { ... }
У меня также есть основная активность, ее содержимое (main.xml
):
<LinearLayout ...>
<!-- How to have a fragment placehold without specify which fragment show here? -->
<fragment>
</LinearLayout>
Мой вопрос заключается в том, что в файле выше файла компоновки, как я могу определить фрагмент-фрагмент, не указывая, какой фрагмент отображается здесь, а затем в java-коде My Activity, раздуйте правильный фрагмент для заполнителя?
Возможно ли это и как это сделать?
Ответы
Ответ 1
Это возможно.
В вашем main.xml определите место для фрагмента, позвоните ему в качестве "domain_placeholder":
<LinearLayout ...>
<FrameLayout android:id="@+id/fragment_placeholder" android:layout_weight="1"
android:layout_width="0px"
android:layout_height="match_parent" />
</LinearLayout>
В своей деятельности, когда вы хотите загрузить фрагмент:
YourFragment fragment = new YourFragment();
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.fragment_placeholder, fragment);
ft.commit();