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