2014-12-04 50 views
2

保护方法调用对于android来说很容易,只需放入Build.VERSION.SDK_INT> = xx即可,同时我们可以将“@SuppressLint(”NewApi“)”添加到防止皮棉检查这一点。Android:如何保护内部类从低API水平

但是如何扩展一个类或实现高API级接口的内部类呢?如AutoFocusMoveCallback仅适用于API 16及更高版本

private class OnAutoFocusMoveCallback implements AutoFocusMoveCallback { 

    @Override 
    public void onAutoFocusMoving(boolean start, Camera camera) { 
     // TODO 

    } 

} 

如何解决此情况?

回答

1

解决了这个问题。

在高API中声明与类/接口相关的内部类是可以的。

只要确保保护实例化/使用这样的类与Build.VERSION.SDK_INT> = XX,如下:

if (Build.VERSION.SDK_INT >= 16) { 
     mAutoFocusMoveCallback = new OnAutoFocusMoveCallback(); 
    }