如何将多个编辑文本字段的内容显示到一个文本视图?

时间:2013-01-22 19:01:23

标签: java android android-edittext

我一直试图弄清楚如何将多个EditText值一起添加,并将输出显示为一个TextView

更具体一点:

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

3 个答案:

答案 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。以下伪代码应该向您展示如何开始。

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

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