@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
initAdData();
View view = inflater.inflate(R.layout.fragment_travel, container, false);
dot0 = view.findViewById(R.id.v_dot0);
dot1 = view.findViewById(R.id.v_dot1);
dot2 = view.findViewById(R.id.v_dot2);
dot3 = view.findViewById(R.id.v_dot3);
dot4 = view.findViewById(R.id.v_dot4);
tv_title = (TextView)view.findViewById(R.id.tv_title);
adViewPager = (ViewPager)this.getActivity().findViewById(R.id.vp);
return view;
}
private void initAdData() {
// 广告数据
adList = getBannerAd();
imageViews = new ArrayList<ImageView>();
// 点
dots = new ArrayList<View>();
dotList = new ArrayList<View>();
dots.add(dot0);
dots.add(dot1);
dots.add(dot2);
dots.add(dot3);
dots.add(dot4);
ViewPager adViewPager = new ViewPager(getActivity());
adViewPager.setAdapter(new MyAdapter());// 设置填充ViewPager页面的适配器
// 设置一个监听器,当ViewPager中的页面改变时调用
adViewPager.setOnPageChangeListener(new MyPageChangeListener());
addDynamicView();
}
private void addDynamicView() {
// 动态添加图片和下面指示的圆点
// 初始化图片资源
for (int i = 0; i < adList.size(); i++) {
ImageView imageView = new ImageView(getActivity());
// 异步加载图片
mImageLoader.displayImage(adList.get(i).getImgUrl(), imageView, options);
imageView.setScaleType(ScaleType.CENTER_CROP);
imageViews.add(imageView);
dots.get(i).setVisibility(View.VISIBLE);//这行java.lang.NullPointerException
dotList.add(dots.get(i));
}
}
dots.get(i).setVisibility(View.VISIBLE);//这行java.lang.NullPointerException
initAdData()放在实例化后面调用。
dots在哪里定义的,是否初始化了。
Log一下吧, 看看dots集合里面有没有加上数据,应该是没取到数据,空指针,你就看 "."的前面,LOG的时候就LOG它就行了,
[2011-09-14 13:44:16 - ddms]null
java.lang.NullPointerException
at com.android.ddmlib.Client.sendAndConsume(Client.java:572)
at com.android.ddmlib.HandleHello.sendHELO(HandleHello.java:142)
......
答案就在这里:Android(java.lang.NullPointerException)
----------------------Hi,地球人,我是问答机器人小S,上面的内容就是我狂拽酷炫叼炸天的答案,除了赞同,你还有别的选择吗?
空指针异常
这种错误很常见
是数据传送时丢失,或未初始化其值,也可能是小细节,变量名拼写错误,所以其变量本身就为空,不存在有过数据;
这种在过程中丢失,或写错的导致在使用其值时,变量并没有值,报此异常
一般看你日志
会给出空指针(就是变量为空出错的地方)
异常的文件,具体到行例如 StudentDao.java 34
类似的,就是StudentDao 文件,的第 34 行有个常量,被使用时,发现其为空值
往前检查一下,上一步,或拼写是否错误
日志显示Zygote: error closing descriptor
libcore.io.ErrnoException: close failed: EBADF (Bad file number)