在单击按钮ViewPager/PagerAdapter Android后启动幻灯片放映
我试图在按下开始按钮后开始幻灯片放映。我在这里看到了一些使用ViewPager和PagerAdapter的示例,但它们似乎都没有帮助。我的代码如下。当我按下开始按钮时,我的日志显示存在nullPointerException 公共类MainActivity扩展了活动{在单击按钮ViewPager/PagerAdapter Android后启动幻灯片放映,android,android-viewpager,Android,Android Viewpager,我试图在按下开始按钮后开始幻灯片放映。我在这里看到了一些使用ViewPager和PagerAdapter的示例,但它们似乎都没有帮助。我的代码如下。当我按下开始按钮时,我的日志显示存在nullPointerException 公共类MainActivity扩展了活动{ private ViewPager mViewPager; private SwipeAdapter adapter; @Override protected void onCreate(Bundle savedInstance
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属性,可以正常工作。My 4 layout文件包含包含幻灯片放映的4张图片的ImageView(定义:R.layout.layout1等)。我有一个寻呼机xml文件,它简单地定义了ViewPager。有什么建议吗?您会收到NullPointerException,因为您引用的页面不在活动\u main中。请将您的ViewPager放置在活动\u main中
<?xml version="1.0" encoding="utf-8"?>
<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="match_parent"
android:layout_height="match_parent"
/>
</LinearLayout>
@知道我为什么会得到一个nullpointerexception吗?单击按钮后,我仍然无法显示任何内容。首先,请确保一个简单的视图寻呼机适合您。你可以看看这个。完成后,您可以参考上面的链接。请注意:您是否能够在不单击按钮的情况下完成ViewPager?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mViewPager = (ViewPager) findViewById(R.id.pager);
adapter = new SwipeAdapter(MainActivity.this);
mViewPager.setAdapter(adapter);
}