2011-12-04 44 views
0

這裏是我的公式:我想通過幾個佈局添加EDITTEXT箱值,將其發佈到EDITTEXT盒上的佈局叫做結果

(R.id.dch135-(R.id.drg59*.0752)-(R.id.drg6*.061)-(R.id.drg11*.0412)-(R.id.dplenum*.0802)-(R.id.s2way*4.5)-(R.id.s3way*6.9)-(R.id.sbal35*4.5)-(R.id.sunbal70*8.8)-(R.id.s4way*8.8)-(R.id.s8way*13)-(R.id.sdc6th*3.3)-(R.id.sdc9th*2.7)-(R.id.sdc12th*2)-(R.id.sdc6tp*6)-(R.id.sdc9tp*9)-(R.id.sdc12tp*12)-(R.id.samp*14.5) 

我有幾個佈局EDITTEXT盒。我想運行上面的公式,並在另一個名爲results的佈局的editText框中顯示結果。

我嘗試過使用getText,但我回來的是「無法在原始類型int」上調用setText(String)。

任何幫助將是巨大的! 感謝

+0

問題(可能)不在你顯示的公式中,因爲它沒有'setText'調用。發佈觸發錯誤的代碼。 – Mat

回答

0

看來,當你說(R.id.drg59*.0752)你的意思是「用ID drg59得到的EditText上的值,如果由0.0752繁殖。但是,這是什麼意思在Java是」乘值R.id.drg59(一在R.java中定義的整數值,而不是目前無論是在你的EditText)由0.0752" 。

你需要每一個的EditText值以解析爲數字(浮點數,大概),然後用它乘以0.0752。例如:

EditText drg59Text = (EditText) findViewById(R.id.drg59); 
float drg59Value = Float.parseFloat(drg59Text.getText()); 
float result = drg59Value * 0.0752; 

等等等等。

此外,設置您需要的值轉換爲字符串文本值時,最簡單的方法通常是隻追加你的價值爲空字符串:

EditText resultText = ... 
resultText.setText("" + result); //where "result" is a float value