如何在一个editText Android中添加更多值?

时间:2014-03-27 20:11:18

标签: java android android-edittext average

我有一个计算2个简单平均值和1个复杂平均值的应用程序。问题是平均值是根据9个编辑文本中输入的9个值计算的,即使应用程序工作正常,其他大小的屏幕上的edittexts也不再排列。我尝试了几个让它工作的东西,但到目前为止没有任何东西,所以,我决定在简单平均值和按钮的情况下只有1个edittext会更容易。在edittext中输入尽可能多的值,并在输入的每个值之后单击" +"按钮,然后,当您输入所需的所有值时,按下" ="按钮,在您输入值的同一edittext中显示您输入的值的平均值。在复杂平均值的情况下,要在第一个中有2个编辑文本和类似,要从第一个中输入的值计算平均值,进行简单平均值,并使用第二个edittext中的值来计算复数平均值。希望你能完全理解,并能帮助我。非常感谢!!!

这是我的:

Medii.java

    package com.cngcnasaud.orar;

import java.text.DecimalFormat;
import java.util.ArrayList;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class Medii extends Activity {

public static ArrayList<String> num = new ArrayList<String>();
double sum, res;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.medii);

    final EditText editTextNum = (EditText)findViewById(R.id.editTextNum);
    Button buttona = (Button)findViewById(R.id.button999);
    Button buttonCalc = (Button)findViewById(R.id.button1000);
    final TextView textViewRes = (TextView)findViewById(R.id.textViewRes);

    buttona.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {
             String numCatch=editTextNum.getText().toString().trim();
                if(numCatch.length() != 0){
                       num.add(numCatch);
                    editTextNum.setText("");
                }
                textViewRes.setText("The average is ");
        }
    });

    buttonCalc.setOnClickListener(new OnClickListener() {

        public void onClick(View arg0) {
            DecimalFormat format = new DecimalFormat("#.##");
            for(int i=0;i<num.size();i++){
                sum = Integer.parseInt(num.get(i)) + sum;
            }
            res = sum/num.size();
            textViewRes.setText("The average is "+format.format(res));
            res = 0;
            sum = 0;
            num.clear();
        }
    });
}}

1 个答案:

答案 0 :(得分:0)

我不知道我是否正确,但您可以使用方法.split(&#34; +&#34;)将您的输入字符串拆分为字符串数组,这是您的数字。然后将每个字符串分别转换为int,并像以前一样继续。如果你想在&#34; =&#34;之后得到答案,请连接输入字符串和结果字符串。