问题描述
- 安卓viewpager空指针异常
-
新手求教,报空指针异常:package com.sweetstar86.day6hw; import android.app.Activity; import android.content.Intent; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.view.ViewGroup; import java.util.ArrayList; public class GuideActivity extends Activity implements ViewPager.OnPageChangeListener { private ViewPager viewPager; private ArrayList<View> views = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_guide); initView(); } public void initView() { views.add(getLayoutInflater().inflate(R.layout.layout_pre1, null)); views.add(getLayoutInflater().inflate(R.layout.layout_pre2, null)); viewPager.setOnPageChangeListener(this); viewPager.setAdapter(new MyPageAdapter()); } @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { } @Override public void onPageScrollStateChanged(int state) { if (state == views.size()) { Intent mainIntent = new Intent(GuideActivity.this, MainActivity.class); GuideActivity.this.startActivity(mainIntent); GuideActivity.this.finish(); } } class MyPageAdapter extends PagerAdapter { @Override public int getCount() { return views.size(); } @Override public Object instantiateItem(ViewGroup container, int position) { View v = views.get(position); container.addView(v); return v; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(views.get(position)); } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } } }
在viewPager.setOnPageChangeListener(this);和
initView();
处,报错。
解决方案
viewPager没有初始化
需要加上
viewPager = (ViewPager)findViewById(R.id.xxxxxx);//viewpage的id找到对应的viewpage
解决方案三:
viewPager = (ViewPager)findViewById(R.id.xxxxxx);
时间: 2024-10-30 08:57:20