为什么会报空指针?好奇怪!

码界修真 2016-12-12 02:46:27
public final Drawable getChild(int index) {
final Drawable result = mDrawables[index];
if (result != null) {
return result;
}

// Prepare future drawable if necessary.
if (mDrawableFutures != null) {
final int keyIndex = mDrawableFutures.indexOfKey(index);
if (keyIndex >= 0) {
final ConstantState cs = mDrawableFutures.valueAt(keyIndex);
final Drawable prepared = prepareDrawable(cs.newDrawable(mSourceRes));
mDrawables[index] = prepared;
mDrawableFutures.removeAt(keyIndex);//在Monkey测试时mDrawableFutures报了空指针错误,why?!
if (mDrawableFutures.size() == 0) {
mDrawableFutures = null;
}
return prepared;
}
}

return null;
}
上面是出问题的方法,有文字注释的是报空指针的地方。求大神们解释一下为什么是我写注释的那一行报了错?
...全文
333 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mrour 2016-12-23
  • 打赏
  • 举报
回复
mDrawableFutures是个单例?多线程操作?
blanks.w 2016-12-12
  • 打赏
  • 举报
回复
去找找你mDrawableFutures 在哪里赋值 哪里给他设置了 null 不就清楚了

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧