我得到了我的應用程序的第一次崩潰報告。它說,有一個java.lang.ArithmeticException: divide by zero
如何確定哪個值爲0?
的異常這兩行之一:
//sWP stands for "Screen Width in Pixels"
// sW stands for "Screen Width" The code is old though, so I may be incorrect for both variables.
//res is just getResources()
int sWP = sW/(res.getDisplayMetrics().densityDpi/DisplayMetrics.DENSITY_DEFAULT);
float bHeight = 50 * ((float)res.getDisplayMetrics().densityDpi/DisplayMetrics.DENSITY_DEFAULT);
能DisplayMetrics.DENSITY_DEFAULT
永遠是零?或者getDisplayMetrics().densityDpi
曾經是零?
我是否也應該將sWP更改爲雙倍?同樣在這種情況下,res.getDisplayMetrics()。densityDpi等於320 – Roymunson
@Roymunson將sWP更改爲double對於我來說沒有任何意義,如您所說_ // sWP代表「屏幕寬度以像素爲單位」_。我很抱歉,我忘了投給int。我會編輯我的答案。 –
@Roymunson對於densityDpi獲得的320的值,在API 9中引入DENSITY_XHIGH時,有人忘記更改API 4的densityDpi文檔。 –