下面是代碼:爲什麼'Res'變量保持一些隨機數而不是從編輯文本字段中檢索數字?
public class MainActivity extends AppCompatActivity implements
View.OnClickListener {
private TextView TvTtlCrd;
int Res = TvTtlCrd.getText().length();
switch (view.getId()) {
case R.id.btnCal:
try {
Float Calculation = (
(Float.parseFloat(numM1) * Float.parseFloat(numP1))
+(Float.parseFloat(numM2)*Float.parseFloat(numP2)));
Float Result=Calculation/Res;
TvRes.setText(String.valueOf(Result));
} catch (Exception e) {
TvRes.setText("Make sure to Enter all the fields");
}
break;
}
}
}
當我調試,我發現所有的變量檢索數目相同的文本字段,但TvTtlCrd文本字段的值不提取的代碼。是什麼原因? 我只發佈了一部分相關的代碼。 也如何將變量存儲在列表中並計算使用列表函數? 謝謝
'中期業績= TvTtlCrd.getText()長度();' - 你得到的文本長度'()''中TvTtlCrd',而不是實際的文字,你會得到用'toString()'。你在問什麼? –
不,對於函數Float Result = Calculation/Res;如果我將res數據類型轉換爲字符串,它將顯示錯誤消息,因爲運算符'/'無法應用於J.L.float以J.L.String。我想從Res變量中提到的值中劃分計算結果。 –
您的問題顯示「TvTtlCrd文本字段值未被檢索,原因是什麼?」這就是原因。 length()方法返回文本中的字符數,而不是實際的文本本身。您需要將文本作爲String來獲取,並將其轉換爲數字,就像在下面的代碼中使用Float.parseFloat()時一樣。 –