【问题标题】:Android solving compatibility with SDK_INT hack; is this ok?Android 解决与 SDK_INT hack 的兼容性;这个可以吗?
【发布时间】:2012-02-07 20:35:39
【问题描述】:

运行以下(注意:目标> 3.0)

ActionBar actionBar = getActionBar();

在版本 NoSuchMethodError。

有几种方法可以解决这个问题,包括反射和类延迟加载。但是,以下似乎适用于我测试过的所有设备(2.3.6、3.0、3.1、4.0):

boolean hasActionBar = android.os.Build.VERSION.SDK_INT >= 11;

if (hasActionBar) {
    ActionBar actionBar = getActionBar();
} else {
    // create custom actionbar
}

注意SDK_INT 参数是static final,这似乎是它起作用的原因。

这是处理兼容性的有效方法吗?

【问题讨论】:

标签: android android-compatibility


【解决方案1】:

我相信是的,只要一切设置正确。

来自 Reto Meier 的博客: http://blog.radioactiveyak.com/2011/02/strategies-for-honeycomb-and-backwards.html

【讨论】:

    【解决方案2】:

    由于 JIT 编译器,这看起来可以正常工作。此代码在支持此理论的 SDK

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-22
      • 1970-01-01
      • 2019-03-20
      • 2019-05-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多