Я пытаюсь переключиться между фрагментами в своей деятельности. Я читал this tutorial, но мой случай немного отличается, поскольку я не хочу/не могу использовать «FragmentPagerAdapter», вместо этого я хочу, чтобы кнопка, нажатая на действие, переключилась между двумя фрагментами.Переключение между фрагментами без 'FragmentPagerAdapter'
Мой макет деятельности состоит из кнопки и ViewPager. В добавлении у меня есть Fragment1 и Fragment2. Как я могу переключаться между этими фрагментами с помощью метода OnClick?
Мой Компоновка:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:text="Switch it"
android:onClick="switchFragment"/>
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v4.view.ViewPager>
</LinearLayout>
и моя деятельность:
public class MainHeaderFragment2 extends ActionBarActivity {
...
public void switchFragment(View view){
Fragment fragment
if(checkSomething())
fragment = new Fragment1();
else
fragment = new Fragment2();
ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
// now need to put the selected fragment in ViewPager somehow.
// How? that is my question
}
}
Как вы заполняете свой «ViewPager»? Вы используете 'ViewPager' только для замены фрагментов? Если это так, вы не должны использовать это и вместо этого вместо этого использовать FragmentManager. – kha
@kha вы можете уточнить? Я видел, что если я хочу использовать FragmentManager, мне нужно заменить на строку: getFragmentManager(). BeginTransaction(). Replace (R.id.fragment_container, newFragment); Но каково должно быть представление представления фрагмента_контейнера в моем layout.xml? – GyRo
Слишком долго, чтобы ответить в комментарии. Отправлено как ответ. Ответ может быть неверным в зависимости от вашего вопроса и наличия ViewPager в вашем макете. Если да, дайте мне знать после того, как вы прочтете его, и я удалю его. – kha