我一直在试图弄清楚如何将许多EditText
值相加并将输出显示为一个TextView
。
更加具体:
我让用户在每个EditText
字段中输入一个数字,并且需要显示总结果。大约有 14 个EditText
字段和一个TextView
.
我一直在试图弄清楚如何将许多EditText
值相加并将输出显示为一个TextView
。
更加具体:
我让用户在每个EditText
字段中输入一个数字,并且需要显示总结果。大约有 14 个EditText
字段和一个TextView
.
尝试这个:
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);
只需添加任意数量的编辑文本即可。
如果要对所有文本视图的结果求和,则需要通过执行以下操作获取文本视图中字符串的整数值:
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());
等等...
您也可以使用它:
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;
}
从每个 EditText 中获取文本,并将值相加。然后将生成的字符串显示到 TextView。以下伪代码应该向您展示如何开始。
使用这段代码的关键是填充tv
和textboxes
. 此外,如果您的数字是浮点数,您将需要更改总计类型及其解析。
ArrayList<EditText> textboxes;
TextView tv;
int total=0
for (edit:textboxes)
{
total+=Integer.parseInt(edit.getText());
}
tv.setText(text.toString());