解析Android中尺寸值的正確方法是什麼?例如,我想從這些字符串中的任何一個獲得值爲20的int
:20px
,20mm
,20dp
。解析Android中尺寸的值
嘗試Integer.parseInt()
沒有讓我走得很遠,因爲它在非數字字符上引發異常。
解析Android中尺寸值的正確方法是什麼?例如,我想從這些字符串中的任何一個獲得值爲20的int
:20px
,20mm
,20dp
。解析Android中尺寸的值
嘗試Integer.parseInt()
沒有讓我走得很遠,因爲它在非數字字符上引發異常。
如果單位總是存在的,只是提到了一個,你肯定你永遠不會需要它 - 簡單地分析一個子str.substring(0, str.length() - 3)
我會建議使用自定義的類來解析並保持包括單位在內的價值 - 您可能需要某個時間。
如果從AttributeSet
開始,可以通過Context
獲取TypedArray
,最終使用getDimension
或相關函數。
如果你只是想傳遞一個字符串,parseInt函數沒有拋出異常試試這個:
Integer.parseInt(someString.replaceFirst("[^0-9].*" , ""));
正則表達式截斷開始不是一個數字的第一個字符的字符串。這意味着字符串必須以數字開頭。
我想知道是否這樣的東西已經內置到Android SDK中。似乎它會是常用的東西。 – 2011-04-05 05:11:35
我相信在解析UI佈局XML時會有這樣的東西在Android中使用。儘管我沒有發現它是公開的,但是對於這裏提到的相當小的問題,編寫一個類來分析和保存解析值是一個幾分鐘的問題。 :O) – mbanzon 2011-04-05 05:19:25