我最近再次开始为 android 编程,目前正在开发一个应用程序,我想实现水平视图寻呼机,以便用户在一个实例中可以在两个页面之间滑动以输入/更新信息,然后在四个页面之间滑动查看他们输入/更新的信息。我基本上是在为角色扮演游戏制作电子角色表。
我一直在研究水平视图寻呼机的这些教程:http: //mobile.tutsplus.com/tutorials/android/android-user-interface-design-horizontal -view-paging/
http://manishkpr.webheavens.com/android-viewpager-example/
我的问题是我看过的所有教程,h。视图寻呼机是在主活动屏幕上使用的,有没有办法在后续屏幕上实现水平视图寻呼机?每次我试图实现代码以在主屏幕以外的页面上工作时,它一到该页面就崩溃了。
所以,长话短说,有没有人在非主页上成功地实现了水平视图寻呼机,如果是这样,怎么做?
我希望我说得有道理,但如果您还有其他问题,请告诉我!
08-24 01:44:34.310:I/ActivityManager(144):从 pid 15115 开始 {cmp=com.echaractersheet/.CharacterStats1} 08-24 01:44:34.360:D/AndroidRuntime(15115):关闭 VM 08 -24 01:44:34.360: W/dalvikvm(15115): threadid=1: 线程退出未捕获异常 (group=0x40a581f8) 08-24 01:44:34.370: E/AndroidRuntime(15115): 致命异常: main 08 -24 01:44:34.370: E/AndroidRuntime(15115): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.echaractersheet/com.echaractersheet.CharacterStats1}: java.lang.NullPointerException
characterstats.xml:
<android.support.v4.view.ViewPager
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/characterstatspager" />
characterstats1.xml 和 characterstats2.xml 是我要在其间滑动的两个页面
CharacterStatsPagerAdapter.java: ...
public class CharacterStatsPagerAdapter extends PagerAdapter {
public int getCount() {
return 2;
}
public Object instantiateItem(View collection, int position) {
LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
int resId =0;
switch (position) {
case 0:
resId = R.layout.characterstats1;
break;
case 1:
resId = R.layout.characterstats2;
break;
}
View view = inflater.inflate(resId, null);
((ViewPager) collection).addView(view, 0);
return view;
}
@Override
public void destroyItem(View arg0, int arg1, Object arg2) {
((ViewPager) arg0).removeView((View) arg2);
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == ((View) arg1);
}
@Override
public Parcelable saveState() {
return null;
}
}
CharacterStats1.java:
CharacterStatsPagerAdapter adapter = new CharacterStatsPagerAdapter();
ViewPager myPager = (ViewPager) findViewById(R.id.characterstatspager);
myPager.setAdapter(adapter);
myPager.setCurrentItem(0);