我做了一个navigation drawer
并且listview
已经完成了,现在我决定了它的主要内容。但是我有一个,现在我要用滑动视图替换它。但我无法在任何地方找到任何滑动视图抽屉导航教程。我看到,在一个平淡无奇的活动中,你扩展了片段活动,但由于我使用ActionBarActivity
导航,我已经扩展了其他内容。所以我现在不知道该怎么做。
请给我一个提示
答案 0 :(得分:0)
基本上你需要一个解释ViewPager实现的教程
这里有一个好tutorial
与listview
和adapter
实施非常相似。您将在布局文件中拥有一个视图寻呼机,就像您有listview一样。
<android.support.v4.view.ViewPager
android:id="@+id/my_viewpager"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
然后你需要一个适配器和视图来填充该适配器。 FragmentPagerAdapter
会为你做这个伎俩。这通常是我实现这个
List<ViewPagerAdapter.FragmentTabItem> fragmentList = new ArrayList<>();
fragmentList.add(new ViewPagerAdapter.FragmentTabItem(MyFragmentOne.newInstance(),
getString(R.string.one)));
fragmentList.add(new ViewPagerAdapter.FragmentTabItem(MyFragmentTwo.newInstance(),
getString(R.string.two)));
ViewPagerAdapter adapter
= new ViewPagerAdapter(getChildFragmentManager() , fragmentList);
mViewPager.setAdapter(adapter);
这是我的通用适配器实现
public class ViewPagerAdapter extends FragmentPagerAdapter {
List<FragmentTabItem> mFragmentTabItems;
public ViewPagerAdapter(FragmentManager fm,
List<FragmentTabItem> fragmentTabItems) {
super(fm);
mFragmentTabItems = fragmentTabItems;
}
@Override
public Fragment getItem(int position) {
return mFragmentTabItems.get(position % mFragmentTabItems.size()).getFragment();
}
@Override
public int getCount() {
if(mFragmentTabItems != null)
return mFragmentTabItems.size();
else
return 0;
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTabItems.get(position % mFragmentTabItems.size()).getTitle();
}
public static class FragmentTabItem {
@Getter
@Setter Fragment fragment;
@Getter @Setter
String title;
public FragmentTabItem(Fragment fragment, String title) {
this.fragment = fragment;
this.title = title;
}
}}