0

我一直在试图弄清楚如何将许多EditText值相加并将输出显示为一个TextView

更加具体:

我让用户在每个EditText字段中输入一个数字,并且需要显示总结果。大约有 14 个EditText字段和一个TextView.

4

3 回答 3

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);

只需添加任意数量的编辑文本即可。

如果要对所有文本视图的结果求和,则需要通过执行以下操作获取文本视图中字符串的整数值:

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());

等等...

于 2013-01-22T19:09:59.833 回答
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;
        }
于 2013-01-22T19:23:50.590 回答
0

从每个 EditText 中获取文本,并将值相加。然后将生成的字符串显示到 TextView。以下伪代码应该向您展示如何开始。

使用这段代码的关键是填充tvtextboxes. 此外,如果您的数字是浮点数,您将需要更改总计类型及其解析。

ArrayList<EditText> textboxes;
TextView tv;
int total=0
for (edit:textboxes)
{
    total+=Integer.parseInt(edit.getText());
}
tv.setText(text.toString());
于 2013-01-22T19:03:17.090 回答