kuyuzhiqi 2015-12-23 06:20 采纳率: 20%
浏览 1479

Android viewflipper显示图片丢失

最近开发一个功能是用来展示图片的,用的是viewflipper,图片数量未知,
我图片大小是1200x888的,如果一次性全部加载到viewflipper中的话,可
能会报OOM错误,现在的做法是viewflipper只添加一个imageview,每次
滑动的时候去用addview添加到原来的view,并且替换掉,但是一直向右滑

动突然向左滑动的时候它不会显示前面的照片,不知道是什么原因,代码如下:

private void changeView() {
if (null != bitmap && !bitmap.isRecycled()) {
bitmap.recycle();
System.gc();
}
bitmap=BitmapFactory.decodeFile(imgFileList.get((imgPosition)%imgFileList.size()));
ImageView tmpIV = new ImageView(DiseaseDetail.this);
tmpIV.setImageBitmap(bitmap);
viewFlipper1.addView(tmpIV, viewFlipper1.getChildCount(),new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
if (currentImgPosition > imgPosition) {
Animation rOut = AnimationUtils.loadAnimation(this, R.anim.flipper_right_out);
Animation lIn = AnimationUtils.loadAnimation(this, R.anim.flipper_left_in);
viewFlipper1.setInAnimation(lIn);
viewFlipper1.setOutAnimation(rOut);
viewFlipper1.showPrevious();
} else if (currentImgPosition < imgPosition) {
Animation rIn = AnimationUtils.loadAnimation(this, R.anim.flipper_right_in);
Animation lOut = AnimationUtils.loadAnimation(this, R.anim.flipper_left_out);
viewFlipper1.setInAnimation(rIn);
viewFlipper1.setOutAnimation(lOut);
viewFlipper1.showNext();
}

}

  • 写回答

1条回答 默认 最新

报告相同问题?

悬赏问题

  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料