【发布时间】:2014-06-10 15:11:09
【问题描述】:
我正在尝试在按下开始按钮后开始播放幻灯片。我在这里看到了一些使用 ViewPager 和 PagerAdapter 的示例,但它们似乎都没有帮助。我的代码如下。当我按下开始按钮时,我的 logCat 说有一个 nullPointerException。
公共类 MainActivity 扩展 Activity {
private ViewPager mViewPager;
private SwipeAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void startShow(View v) {
Toast toast = Toast.makeText(this, "Button was Clicked!", Toast.LENGTH_LONG);
toast.show();
mViewPager = (ViewPager) findViewById(R.id.pager);
adapter = new SwipeAdapter(MainActivity.this);
mViewPager.setAdapter(adapter);
}
private class SwipeAdapter extends PagerAdapter {
private LayoutInflater mInflater;
private int[] mLayouts = {R.layout.layout1, R.layout.layout2, R.layout.layout3, R.layout.layout4};
public SwipeAdapter(Context context) {
mInflater = LayoutInflater.from(context);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
container.removeView((View) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ViewGroup pageView = (ViewGroup) mInflater.inflate(mLayouts[position],
container, false);
container.addView(pageView);
getItemPosition(pageView);
return pageView;
}
@Override
public int getCount() {
return mLayouts.length;
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
}
}
我的按钮包含一个可以正常工作的 onClick 属性。我的 4 个布局文件包含 ImageViews,其中包含幻灯片的 4 张图片(定义:R.layout.layout1 等...)。我有一个简单定义 ViewPager 的寻呼机 xml 文件。有什么建议吗?
【问题讨论】:
-
@mek 知道为什么我会收到空指针异常吗?单击按钮后,我仍然无法显示任何内容。
-
首先确保一个简单的视图寻呼机适合您。为此,您可以查看Vogella's tutorial。完成后,您可以参考上面的链接。请注意:您是否能够在不单击按钮的情况下完成 ViewPager?