android-安卓viewpager空指针异常

问题描述

安卓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

android-安卓viewpager空指针异常的相关文章

android adapter 提示空指针异常

问题描述 android adapter 提示空指针异常 public class ContactInfoParser extends Activity { ListView mListView; List<String> contactList = new ArrayList<String>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceS

安卓viewpager加载问题

问题描述 安卓viewpager加载问题 在viewpager实现底部选项的时候,我首先进入的是首页,然后我直接点几最后一个个人中心的按钮,但是点进去的时候,他首先会想加载第二个和第三个的里面的数据,我想问下,怎么才能在点几最后一个按钮的时候,不加载第二个和第三个里面的东西,只有点击第几个就记载第几个里面的东西,这个怎么实现? 解决方案 首先先让我吐槽一下错别字,点几,还一错就错两个,是点击呀.你这个其实不应该使用viewPager而是直接使用四个fragment就行了,然后使用Fragment

Android安卓中循环录像并检测内存卡容量

 这篇文章主要介绍了Android安卓中循环录像并检测内存卡容量,当内存卡空间已满时,本文还实现自动删除视频列表里面的第一个文件,需要的朋友可以参考下     ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 /** * 循环录像,当内存卡容量少于300M时,自动删除视频列表里面的第一个文件 */ private void xunhuanl

界面-android 禁止viewpager后的调用

问题描述 android 禁止viewpager后的调用 我写了一个viewpager的禁用,要放到viewpager布局界面的那个类才可以实现,我现在想 在B界面调用那个禁用方法,始终报错. 解决方案 android 禁止ViewPager滑动[Android UI]ViewPager禁止滚动Android禁止ViewPager的左右滑动 解决方案二: 给这个对象加一个public的方法,你通过findViewbyid找到它,就可以通过这个实例调用了,就跟普通的textview,imagevi

android gridview+viewpager,根据 position改变item背景。

问题描述 android gridview+viewpager,根据 position改变item背景. android gridview+viewpager,怎样根据setOnItemClickListener position改变item背景. viewpager是循环加入的. activity里 for (i = 0; i < videoNum / 4; i++) {//我这里的videoNum是20 view = getActivity().getLayoutInflater().inf

自定义相机 照片 竖条-android 安卓 自定义相机 拍出来的照片右侧有竖条

问题描述 android 安卓 自定义相机 拍出来的照片右侧有竖条 这是什么原因啊?大神帮助解决一下吧.谢啦!!只有三星的这个手机遇到这个问题,其他的手机都没事. 解决方案 换一个相机app试试..

android 使用viewpager切换Fragment问题

问题描述 android 使用viewpager切换Fragment问题 我想保存Fragment切换后的状态,但是一直不行,听网上人说不要用viewpager, 请问有没有其他的方法呢,必须要替换掉viewpager么. 解决方案 Android使用ViewPager+Fragment的使用(一)android使用viewPager和Fragment实现滑动切换activity!Android中ViewPager+Fragment的基本使用 解决方案二: http://blog.csdn.ne

android中Viewpager中嵌套子viewpager问题

问题描述 android中Viewpager中嵌套子viewpager问题 如上图所示,应用首页一个Viewpager和一个RadioButton组成,而在viewpager中添加四个Fragement,通过滑动或者点击RadioButton可以进行Fragement间的切换,在第一个Fragement中添加了一个3s轮播Viewpager切换图片.现在主要有两个问题希望大家可以帮助到我,谢谢! 问题一:应用刚刚打开默认是打开第一个Fragement,这个时候该fragment中的轮播图正常播放

网络编程-android 安卓 4.0 给一个客户端和服务器的demo。

问题描述 android 安卓 4.0 给一个客户端和服务器的demo. android 4.0以后到底是怎么联网的?求大神给一个demo.一个客户端和一个服务器的.服务器端servlet的写的吧.越详细越好.谢谢了.对那个异步消息不是很懂,还有就是子线程一块给详细点.谢谢了 解决方案 楼主,你这个问题有点大...我提供一些思路 客户端就不用说了.服务器端,按照现在的流行趋势,建议用Nodejs + MongoDB.Nodejs就类似tomcat,是给服务器端部署监听,监听客户端的请求.Mong