0

多くのEditText値を一緒に追加し、出力を 1 つに表示する方法を理解しようとしていますTextView

もう少し詳しく言うと:

ユーザーに各EditTextフィールドに数値を入力してもらい、合計結果を表示する必要があります。約 14EditTextのフィールドと 1 つのフィールドがあり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 に答える