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

overridePendingTransition 这个函数在API5之后才添加进去的,那么我们一定会想要这样写:

view source print ?
1 if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
2 overridePendingTransition(0,0);
3 }

恩 好吧 想当然的这样做了以为没有出差 结果在1.6的机器上跑起来就。。。。VerifyError。。。。

这是为什么呢? 明明在if中的语句不会运行呀~

错!overridePendingTransition 会在加载类加载时调用,所以与if无关~ 那么你写不写在if中都会执行 所以才会出现错误

如何解决呢?

OK 不让他在加载时运行就好啦~

放一个内部类~ 在内部类中调用~

view source print ?
1 if (android.os.Build.VERSION.SDK_INT > android.os.Build.VERSION_CODES.DONUT) {
2 new Object() {
3
4   public void overridePendingTransition(Activity c, int i, int j) {
5      c.overridePendingTransition(i,j);
6   }
7 }.overridePendingTransition(this, 0, 0);
8 }

这样 在运行到if之前 内部类不会被加载到JVM中 那么也就不会调用里面的方法~

OK 解决~

更多相关文章

  1. Android:Activity(九):Fragment管理与Fragment事务
  2. Android——SharedPreferences数据存储
  3. Android设置程序最小运行的堆内存
  4. android device 注册、添加、管理
  5. Android(安卓)4.1 Netd详细分析(三)代码分析1
  6. Android动态加载View的几种方法
  7. TabActivity子类中处理返回键事件
  8. @suppresslint 标注忽略指定的警告(HandlerLeak)
  9. android showSoftInput方法调用软键盘不显示

随机推荐

  1. android长按图片保存到本地相册
  2. android breakpad
  3. view的clickable属性和点击background颜
  4. android testing (一)
  5. Android添加依赖recycleview错误
  6. Ionic2 在Android设备上的部署
  7. Android倒计时CountDownTimer小记
  8. [Android]去除程序中广告的好方法:告诉广
  9. Android消息处理机制——AsyncTask 源码
  10. Android基于Cling开发DLNA应用