2014-12-04 28 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(); 
    }