`
407827531
  • 浏览: 1060596 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

关于ViewFlipper在Android2.1及以上版本中的bug

    博客分类:
  • Bugs
阅读更多

推荐安卓开发神器(里面有各种UI特效和android代码库实例)

频繁使用ViewFlipper这个控件,可以实现比较实用的页面切换,加上比Gallery方便扩展,所以会常常用到,但是在Android2.1及以上版本中出现系统bug,在进行横竖屏切换时会有如下系统报错:

java.lang.IllegalArgumentException: Receiver not registered: android.widget.ViewFlipper$1@43dee3c0
在网上查到的原因是由于 onDetachedFromWindow() 莫名其妙地在 onAttachedToWindow() 之前被调用了。
解决方法是重写ViewFlipper的相关函数,try-catch一下完事,如下:
 
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ViewFlipper;
 
public class MyViewFlipper extends ViewFlipper {
 
public MyViewFlipper(Context context) {
super(context);
// TODO Auto-generated constructor stub
}
public MyViewFlipper(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
}
 
@Override
protected void onDetachedFromWindow () { 
try { 
super.onDetachedFromWindow(); 
} catch (IllegalArgumentException e) { 
stopFlipping(); 
}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics