Подтвердить что ты не робот

Фрагмент 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, раздуйте правильный фрагмент для заполнителя?

Возможно ли это и как это сделать?

4b9b3361

Ответ 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();