【发布时间】:2014-07-19 00:55:25
【问题描述】:
我使用 ViewPager 在我的应用程序中添加滑动标签。它适用于 4.2 以上的 Android 版本,但在 >= 4.0 和
当我在视图寻呼机上调用 setAdapter 时出现空指针异常,这是因为在 findViewById 之后视图寻呼机为空。它在 Android 版本 > 4.2 中运行良好。我无法弄清楚其他 Android 版本的问题是什么。
public class MainActivity extends FragmentActivity {
ViewPager mViewPager;
TabsPagerAdapter mAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
setContentView(R.layout.activity_main);
mViewPager = (ViewPager) findViewById(R.id.main_view_pager);
mAdapter = new TabsPagerAdapter(getSupportFragmentManager());
mViewPager.setAdapter(mAdapter);
}
}
R.layout.activity_main
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical"
android:id="@+id/profile_list_container">
<android.support.v4.view.ViewPager
android:id="@+id/main_view_pager"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1">
</android.support.v4.view.ViewPager>
</LinearLayout>
适配器
public class TabsPagerAdapter extends FragmentPagerAdapter {
@Override
public int getCount() {
return 3;
}
@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new ProfileListFragment();
case 1:
return new BoostFragment();
case 2:
return new StatsFragment();
}
return null;
}
public TabsPagerAdapter(FragmentManager fm) {
super(fm);
}
}
【问题讨论】: