2015-03-21 3 views
0

У меня есть кнопка MainActivity, которая открывает SecondActivity. Мой SecondActivity является ViewPager, и у меня есть 2 классов фрагментов (fragment1, FRAGMENT2) и 2 фрагмента XML, каждый с TextView внутри. Я не могу решить, как разместить два фрагмента внутри ViewPage, используя FragmentPagerAdapter, поэтому я могу перемещаться из одного фрагмента в другой. Может кто-нибудь, пожалуйста, показать/помочь мне?Android Studio, создающий ViewPager

mainActivity

 Button button1 = (Button) findViewById(R.id.buttonCreateWorkout); 
     button1.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View arg0) { 
      startActivity(new Intent(MainActivity.this, SecondActivity.class)); 

     } 

second_activity.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 


    <android.support.v4.view.ViewPager 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

    // 
    //how do i add the two fragments here? 
    //if this is even the right place 
    // 

    </android.support.v4.view.ViewPager> 
</LinearLayout> 

также, вы смогли показать мне, как использовать FragmentPagerAdapter для переключения между 2-фрагментов?

+0

Проверьте этот образец [Использование ViewPager для экранных слайдов] (http://developer.android.com/training/animation/screen-slide.html) – Xcihnegn

ответ

0

Не добавляйте фрагменты внутри тега viewpager xml, вы добавляете фрагменты по коду. FragmentPagerAdapter обрабатывает это. Вы должны следовать этому учебнику для правильного применения: Create Swype Viewa

PagerFragmentAdapter должен выглядеть следующим образом, этот адаптер обрабатывать создание фрагмента и переключение фрагмента:

public class DemoCollectionPagerAdapter extends FragmentStatePagerAdapter { 
public DemoCollectionPagerAdapter(FragmentManager fm) { 
    super(fm); 
} 

@Override 
public Fragment getItem(int i) { 
    Fragment fragment = new DemoObjectFragment(); 
    Bundle args = new Bundle(); 
    // Our object is just an integer :-P 
    args.putInt(DemoObjectFragment.ARG_OBJECT, i + 1); 
    fragment.setArguments(args); 
    return fragment; 
} 

@Override 
public int getCount() { 
    return 100; 
} 

@Override 
public CharSequence getPageTitle(int position) { 
    return "OBJECT " + (position + 1); 
} 

}

метод

Внутри GetItem, вы создаете фрагмент в зависимости от значения индекса.

Смежные вопросы