【发布时间】: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,这似乎是它起作用的原因。
这是处理兼容性的有效方法吗?
【问题讨论】:
-
根据google:developer.android.com/resources/dashboard/…大部分用户都在2.3以上。因此,您可能需要重新考虑您的策略。首先实施适用于
-
@Paul,这真的是出于好奇。
标签: android android-compatibility