Я знаю, что есть несколько вопросов о бесконечном пейджинге, но у меня все еще есть трудности с тем, чтобы любой из них работал. (Я работаю в Android Studio)Получение InfiniteViewPager для работы
Я пытаюсь запустить InfiniteViewPager с https://github.com/antonyt/InfiniteViewPager.
Я пытаюсь получить эту работу, чтобы я мог пронести по 4 страницам/фрагментам (A, B, C, D), с функциональностью для правильного прокрутки на D, чтобы вернуться в A, и левым салфеткой на A, чтобы вернуться к D.
Я импортировал классы InfinitePagerAdapter и InfiniteViewPager Java и добавил InfiniteViewPager к моему файлу activity_main.xml
.
Однако я застрял там, где мне нужно «Обернуть существующий PagerAdapter с помощью InfinitePagerAdapter».
Вот мой код:
public class MainActivity extends AppCompatActivity {
PagerAdapter mPagerAdapter;
ViewPager mViewPager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mPagerAdapter = new PagerAdapter(getSupportFragmentManager());
mViewPager = (ViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mPagerAdapter);
//Cannot resolve symbol adapter
PagerAdapter wrappedAdapter = new InfinitePagerAdapter(adapter);
mViewPager.setAdapter(wrappedAdapter);
mViewPager.setOffscreenPageLimit(5);
}
public class PagerAdapter extends FragmentStatePagerAdapter {
public PagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
//getItem is called to instantiate the fragment for the given page.
switch (position) {
default:
return Fragment1.newInstance();
case 1:
return Fragment2.newInstance();
case 2:
return Fragment3.newInstance();
case 3:
return Fragment4.newInstance();
}
}
@Override
public int getCount() {
// Show number of total pages.
return 4;
}
}
}
Я не совсем уверен, что я должен заменить adapter
с, или если он должен быть вынут из других классов Java. Кроме того, есть что-то еще, что мне нужно добавить/изменить, чтобы заставить это работать?
взглянуть на демо здесь, и вы увидите ссылку в коде, где он говорит (//wrap pager, чтобы обеспечить бесконечный пейджинг с оберткой) - https://github.com/antonyt/InfiniteViewPager/tree/master/demo/src/main/java/com/antonyt/infiniteviewpager – Tasos
@Tasos спасибо, Посмотрите сейчас и сообщите, как это происходит - знали кодирование и не были слишком уверены в том, как использовать Github. –
@Tasos, поэтому я понимаю, что демо использует позиции, чтобы распознавать, какой вид отображать после каждого прокрутки. Демо создает новый экземпляр ColourFragment, который затем изменяется в зависимости от позиции. Как я могу изменить это на создание нового экземпляра разных фрагментов, основанных на позиции? Благодарю. –