2013-02-25 2 views
1

Я ищу короткий пример использования фрагментов через ViewPager/PageIndicator. Все обучающие материалы/примеры, которые я нашел, предоставляют фантастические объяснения сгенерированными текстами или изображениями, которые передаются одному фрагменту.Пример/Учебник для ViewPager и фрагментов

Кто-нибудь может предоставить короткий пример всего двумя отдельными фрагментами (включая xml-layout-part).

Ссылка на пример или учебник будет также прекрасной! :-)

+0

Пожалуйста, обратитесь по ссылке http://www.edumobile.org/android/android-beginner-tutorials/view-pager-example-in-android-development/ – Arun

+0

Проверьте этот простой учебник http://www.gadgetsaint.com/android/create-viewpager-tabs-android/#.WPuppVN97BI – ASP

ответ

4

Open Затмения -> Project Application новый Android -> Нажмите Далее -> введите имя приложения и в минимальном SDK выбрать что-нибудь выше 4.0 -> Нажать Next 3 раза

В Нью-Blank деятельности в режиме навигации выберите «Пролистать просмотры + заголовок» -> конец

Это довольно красивый и простой пример ViewPager.

+0

Одно исправление: затмение Eclipse такого рода Для приложений требуется sdk версия 11 или выше. Поэтому выберите свой sdk 11 или выше и после создания проекта перейдите в файл манифеста и измените версию min sdk с 11 на любую версию, которую вы предпочитаете. –

+0

Он попросил учебник, плюс это не сработает с ex API8. –

5

В MainActivity, в котором будут размещены фрагменты, вам необходимо создать класс адаптера фрагментов, в котором в методе getItem() вы вернете новый экземпляр фрагмента. Посмотрите на этот пример:

public class MainActivity extends FragmentActivity { 

static int numberOfPages = 2; 
ViewPager myViewPager; 
MyFragmentPagerAdapter myFragmentPagerAdapter; 
    String text = "test"; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main_activity); 

    myViewPager = (ViewPager) findViewById(R.id.view_pager); 
    myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager()); 
    myViewPager.setAdapter(myFragmentPagerAdapter); 
} 

// Adapters 
private static class MyFragmentPagerAdapter extends FragmentPagerAdapter { 
    public MyFragmentPagerAdapter(FragmentManager fm) { 
     super(fm); 
    } 

    @Override 
    public Fragment getItem(int index) { 

     return PageFragment.newInstance(text); 
    } 

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

}

// Фрагмент класса

public class PageFragment extends Fragment { 

TextView tv; 

public static PageFragment newInstance(String text) { 
    PageFragment pageFragment = new PageFragment(); 
    Bundle bundle = new Bundle(); 
    bundle.putString("test", text); 
    pageFragment.setArguments(bundle); 

    return pageFragment; 
} 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
} 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
    View view = inflater.inflate(R.layout.fragment, container, false); 
    tv = (TextView) view.findViewById(R.id.tv); 
    tv.setText(getArguments().getString("test");   

    return view; 
} 
+0

Спасибо за ваш быстрый ответ! Как добавить еще один фрагмент? – Kody

+0

Как вы добавляете элементы для определенных фрагментов? –

+0

в методе getItem() FragmentPagerAdapter вы возвращаете фрагмент, хранящийся в позиции «index» в viewPager. Например, чтобы ссылаться на первый фрагмент, вы можете добавить, если условие типа if (index == 0), затем передать некоторое значение фрагментатору и вернуть его, если (index == 1) passa другое значение и так далее, в зависимости от количества фрагментов у тебя есть. –

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