2015-09-11 38 views
3

方法:我堅持在Android方法FloatMath.floor API不發出

@Override 
protected boolean isReadyForPullEnd() { 
    @SuppressWarnings("deprecation") 
    float exactContentHeight = FloatMath.floor(mRefreshableView.getContentHeight() * mRefreshableView.getScale()); 
    return mRefreshableView.getScrollY() >= (exactContentHeight - mRefreshableView.getHeight()); 
} 

輸出: Error:(116, 39) error: cannot find symbol method floor(float)

的任何一個想法解決這一問題呢?

+0

更多詳情 - 注意:某些輸入文件使用或覆蓋棄用的API。 - 注意:使用-Xlint:deprecation重新編譯以獲取詳細信息。 –

回答

8

FloatMath實用程序類已被棄用。改用Math.floor。

+3

不只是deprectated [但](http://developer.android.com/reference/android/util/FloatMath.html)「所有的方法都從版本23中的公共API中刪除。」 –

+0

當我把它變成'Math.floor'它說:「不兼容的類型必需:float找到:雙」我該怎麼辦? –

+1

@AphikritGerbertSaravasri把它變成這樣漂浮。 float exactContentHeight = Math.floor((float)mRefreshableView.getContentHeight()* mRefreshableView.getScale()); – Sfseyhan

4

FloatMath和getScale()都不推薦使用。請使用以下代碼代替

double exactContentHeight = Math.floor(mRefreshableView.getContentHeight() * getResources().getDisplayMetrics().density);