jsbintask22 2016-09-27 02:54 采纳率: 100%
浏览 1045
已采纳

小白问个问题,空指针,Android,Viewpager

package com.example.viewpage_animation_app;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity {

ViewPager iviewpager;
List<ImageView> ilist = new ArrayList<ImageView>();
int[] image = new int[] { R.drawable.ic_launcher, R.drawable.guide_image2, R.drawable.guide_image3 };

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    init();
    iviewpager.setAdapter(new PagerAdapter() {

        @Override
        public Object instantiateItem(ViewGroup container, int position) {
            // TODO Auto-generated method stub
            if (ilist.get(position) != null) {
                container.addView(ilist.get(position));

            } else {
                Toast.makeText(MainActivity.this, "The null", Toast.LENGTH_SHORT).show();
            }

            return ilist.get(position);

        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            // TODO Auto-generated method stub
            container.removeView((View) object);
        }

        @Override
        public boolean isViewFromObject(View arg0, Object arg1) {
            // TODO Auto-generated method stub
            return arg0 == arg1;
        }

        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return ilist.size();
        }
    });

}

private void init() {
    // TODO Auto-generated method stub
    iviewpager = (ViewPager) findViewById(R.id.viewpager);
    for (int i = 0; i < image.length; i++) {
        ImageView imageView = (ImageView) findViewById(image[i]);
        ilist.add(imageView);

    }

}

}


container.addView(ilist.get(position)); 此句一直显示空指针,加了一个条件语句,虽然不报错了,输出的是下面的那个toast。。。。。

  • 写回答

5条回答 默认 最新

  • Exploring1024 2016-09-27 04:44
    关注

    、、
    iviewpager = (ViewPager) findViewById(R.id.viewpager);
    for (int i = 0; i < image.length; i++) {
    ImageView imageView = (ImageView) findViewById(image[i]);
    ilist.add(imageView);
    }
    、、
    这里你就别findViewById了,用new ImageView创建吧。findViewById(image[i]);你获取的是什么,这个方法你都用错了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。