我一直在想出如何將多個EditText
值加在一起並將輸出顯示爲一個TextView
。如何在一個文本視圖中顯示多個編輯文本字段的內容?
更具體地:
我有用戶在每個EditText
字段中輸入一個號碼和需要顯示的總結果。大約有14 EditText
字段和一個TextView
。
我一直在想出如何將多個EditText
值加在一起並將輸出顯示爲一個TextView
。如何在一個文本視圖中顯示多個編輯文本字段的內容?
更具體地:
我有用戶在每個EditText
字段中輸入一個號碼和需要顯示的總結果。大約有14 EditText
字段和一個TextView
。
從每個EditText中獲取文本,並將這些值相加。然後將結果字符串顯示到TextView。下面的僞代碼應該告訴你如何開始。
使用這一位代碼的關鍵是填充tv
和textboxes
。另外,如果你的數字是浮點數,你將需要改變總數的類型和解析。
ArrayList<EditText> textboxes;
TextView tv;
int total=0
for (edit:textboxes)
{
total+=Integer.parseInt(edit.getText());
}
tv.setText(text.toString());
試試這個:
etUsername = (EditText) findViewById(R.id.etlsUsername);
etPassword = (EditText) findViewById(R.id.etlsPassword);
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
String text = username + " " + password;
tv = (TextView) findViewById(R.id.tv);
tv.setText (text);
,只要你想只需要添加儘可能多的編輯文本。
如果要總結所有textviews的結果,那麼你就需要通過這樣做是爲了獲得TextView的字符串的整數值:
numone= (EditText) findViewById(R.id.numone);
numtwo= (EditText) findViewById(R.id.numtwo);
String numonestring = numone.getText().toString();
String numtwostring = numtwo.getText().toString();
int one = Integer.valueOf(numonestring);
int two = Integer.valueOf(numtwostring);
int sum = one + two;
tv.setText (sum.toString());
等等...
謝謝,這幫了很多! – DrRoland
你爲什麼不接受答案之一? –
您也可以使用此:
RelativeLayout rl = (RelativeLayout) findViewById(R.id.mRlayout1);
int total = calculate(rl);
yourTextView.setText(""+total);
聲明這個方法:
// Method called for calculation
public int calculate(RelativeLayout layout) {
int totalval = 0;
for (int i = 0; i < layout.getChildCount(); i++) {
View v = layout.getChildAt(i);
Class<? extends View> c = v.getClass();
if (c == EditText.class) {
EditText et = (EditText) v;
totalval += Integer.parseInt(et.getText().toString());
}
}
return totalval;
}
[在Java中查找字符串操作](http://docs.oracle.com/javase/tutorial/java/data/strings.html) – Smit
僅供參考,是要將值相加,還是將它們組合1巨型串? – PearsonArtPhoto
我想將所有的值加在一起並顯示結果。如果用戶輸入12(在一個EditText中),3(在另一個EditText中)和8(在另一箇中),那麼TextView應該顯示23. – DrRoland