有一些信息是不可能在许多来源中使用ViewPager
的,比如 Mark Murphy 的“ The Busy Coders Guide for Android Developers ”,或者在 SO 上这样的帖子。我很困惑,因为我没有这样的问题,并且我成功地在我的. 唯一的区别是我不是在方法中而是在. 一切都很好。Fragment
ViewPager
Fragment
ViewPager
onCreateView()
onActivityCreated()
所以问题是 - 可能我只是不知道一些事情,并且出于某种原因不建议在其中进行 UI 实例化onActivityCreated()
?但同样 - 一切正常。
这是类和xml的列表:
班级:
public class ViewPagerFragment extends Fragment {
static final int NUM_ITEMS = 2;
private ViewPagerAdapter mAdapter;
private ViewPager mPager;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
return inflater.inflate(R.layout.view_pager_fragment, container, false);
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mAdapter = new ViewPagerAdapter(getFragmentManager());
mPager = (ViewPager) getView().findViewById(R.id.pager);
mPager.setAdapter(mAdapter);
}
public static class ViewPagerAdapter extends FragmentPagerAdapter {
public ViewPagerAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int num) {
if (num == 0) {
return new ItemsListFragment();
} else {
return new FavsListFragment();
}
}
@Override
public int getCount() {
return NUM_ITEMS;
}
}
}
布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>