使用SafeViewFlipper避免ViewFlipper交替时Crash

柳志超博客 » Program » Andriod » 使用SafeViewFlipper避免ViewFlipper交替时Crash

posted in Andriod on 2014/02/19 by liuzc

ViewFilpper 是Android官方提供的一个View容器类,继承于ViewAnimator类,用于实现页面切换。当我们界面重叠较多的时候,ViewFilpper 容易崩溃,直接导致程序Crash。

我们可以使用自定义的SafeViewFlipper来避免这一问题。

import android.content.Context;
import android.util.AttributeSet;
import android.widget.ViewFlipper; public class SafeViewFlipper extends ViewFlipper { public SafeViewFlipper(Context context) {
super(context);
} public SafeViewFlipper(Context context, AttributeSet attrs) {
super(context, attrs);
} @Override
public void onDetachedFromWindow() {
try {
super.onDetachedFromWindow();
}
catch (IllegalArgumentException e) {
// This happens when you're rotating and opening the keyboard that the same time
// Possibly other rotation related scenarios as well
stopFlipping();
}
}
}

使用SafeViewFlipper避免ViewFlipper交替时Crash的更多相关文章

  1. 【腾讯优测干货】看腾讯的技术大牛如何将Crash率从2.2%降至0.2%?

    小优有话说: App Crash就像地雷. 你怕它,想当它不存在.无异于让你的用户去探雷,一旦引爆,用户就没了. 你鼓起勇气去扫雷,它却神龙见首不见尾. 你告诫自己一定开发过程中减少crash,少埋点 ...

  2. 还原堆栈信息,分析地形系统使用ASTC格式的纹理导致Crash的问题

    0x00 前言 在这篇文章中,我们选择了过去一周Unity官方社区交流群中比较有代表性的几个问题,总结在这里和大家进行分享.主要涵盖了IL2CPP.Scripting.Virtual Reality. ...

  3. Android相机启动crash错误排查

    一个Android的用到相机的service程序,在比较少的情况下会出现在系统启动时crash.log显示是在调用ACameraDevice_createCaptureSession时返回错误ACAM ...

  4. cocos2d-x 在输入文字时点击语音crash

    修改CCDirectorCaller.mm文件 (cocos2dx/platform/ios/CCDirectorCaller.mm)   添加的代码: #import <OpenGLES/EA ...

  5. QT 防止FTP 上传软件在断连处 Crash

    前段时间发现项目中的上传FTP软件有可能会在从服务器申请断连时Crash, 所以加了一个Timer. 由于项目代码行数过大, 此处上传部分代码片段. timeoutTimer = new QTimer ...

  6. [MySQL Reference Manual]14 InnoDB存储引擎

    14 InnoDB存储引擎 14 InnoDB存储引擎 14.1 InnoDB说明 14.1.1 InnoDB作为默认存储引擎 14.1.1.1 存储引擎的趋势 14.1.1.2 InnoDB变成默认 ...

  7. 与MySQL传统复制相比,GTID有哪些独特的复制姿势?

    与MySQL传统复制相比,GTID有哪些独特的复制姿势? http://mp.weixin.qq.com/s/IF1Pld-wGW0q2NiBjMXwfg 陈华军,苏宁云商IT总部资深技术经理,从事数 ...

  8. 《Java并发编程实战》读书笔记

    Subsections 线程安全(Thread safety)锁(lock)共享对象对象组合基础构建模块任务执行取消和关闭线程池的使用性能与可伸缩性并发程序的测试显示锁原子变量和非阻塞同步机制 一.线 ...

  9. Android杂谈--小知识点总结(1)

    此知识点总结是开发过程中遇到的比较棘手或者恶心的地方,所以随时更新,以备不时之需 1. viewFlipper中的item如何动态设置高度? 例如: <ViewFlipper android:l ...

随机推荐

  1. NOIP2016 T4 魔法阵 暴力枚举+前缀和后缀和优化

    想把最近几年的NOIP T4都先干掉,就大概差16年的,所以来做一做. 然后这题就浪费了我一整天QAQ...果然还是自己太弱了QAQ 点我看题 还是pa洛谷的... 题意:给m个物品,每个物品有一个不 ...

  2. centos 升级python26到python27

    由于开发库依赖于python27,而自己安装的centos6.8自带的python是2.6.6,因此打算简单的做一下升级. 因为centos的yum依赖于python26因此不打算覆盖26.步骤如下: ...

  3. ros 杀掉所有节点

    rosnode kill -a 或者 rosnode kill --all

  4. python 获取5天前的日期

    from datetime import date, timedelta dt = date.today() - timedelta() print('Current Date :',date.tod ...

  5. VC6_预编译头

    1.去掉 使用预编译头"stdafx.h" VC6 --> Project --> Settings.. --> C/C++选项卡 --> "Ca ...

  6. PHP------数组和对象相互转化,stdClass Object转array

    数组转JSON PHP json_encode() 用于对变量进行 JSON 编码,该函数如果执行成功返回 JSON 数据,否则返回 FALSE . JSON转数组 PHP json_decode() ...

  7. C#中as和is关键字

    一. as 运算符用于在兼容的引用类型之间执行某些类型的转换.例如: static void Main(string[] args) { ]; obj[] = new class1(); obj[] ...

  8. sgu 147. Black-white king 思路 坑 难度:1

    147. Black-white king time limit per test: 0.25 sec.memory limit per test: 4096 KB input: standard i ...

  9. BootStrap使用

    BootStrap简单使用 <深入理解BootStrap>这本书对BootStrap进行了全面的讲解包括设计思想以及源码解析对没有接触过的很有帮助 BootStrap可以说是最简单的一类框 ...

  10. 别名的使用注意,""真坑。

    我们使用别名都是使用as关键字. 大多数时候我们都会省略as关键字,然后后面直接加别名就好了.我的习惯是别名用双引号括起来. 今天因为这个习惯坑了我一大波 首先oracle的别名的规则: AS 别名 ...