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

Java 如何在一个editText Android中添加更多值?,java,android,android-edittext,average,Java,Android,Android Edittext,Average,我有一个计算2个简单平均值和1个复杂平均值的应用程序。问题是,平均值是从9个编辑文本中输入的9个值计算出来的,即使应用程序工作正常,其他大小屏幕上的编辑文本也不再排列。我尝试了几件事来让它工作,但到目前为止什么都没有,所以,我决定在简单平均的情况下,只使用1个edittext和按钮会容易得多。在edittext中输入所需的值,在输入每个值后单击“+”按钮,然后在输入所需的所有值时,按“=”按钮,该按钮在输入值的同一edittext中显示输入值的平均值。在复杂平均值的情况下,在第一个文本中有2个编

我有一个计算2个简单平均值和1个复杂平均值的应用程序。问题是,平均值是从9个编辑文本中输入的9个值计算出来的,即使应用程序工作正常,其他大小屏幕上的编辑文本也不再排列。我尝试了几件事来让它工作,但到目前为止什么都没有,所以,我决定在简单平均的情况下,只使用1个edittext和按钮会容易得多。在edittext中输入所需的值,在输入每个值后单击“+”按钮,然后在输入所需的所有值时,按“=”按钮,该按钮在输入值的同一edittext中显示输入值的平均值。在复杂平均值的情况下,在第一个文本中有2个编辑文本等,根据第一个文本中输入的值计算平均值,进行简单平均,并使用第二个编辑文本中的值计算复杂平均值。希望你能完全理解,并能帮我解决这个问题。非常感谢

这是我的:

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();
        }
    });
}}
package com.cngcnasaud.orar;
导入java.text.DecimalFormat;
导入java.util.ArrayList;
导入android.app.Activity;
导入android.os.Bundle;
导入android.view.view;
导入android.view.view.OnClickListener;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
公共类Medii扩展活动{
public static ArrayList num=new ArrayList();
双和,res;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.medii);
final EditText editTextNum=(EditText)findViewById(R.id.editTextNum);
按钮buttona=(按钮)findViewById(R.id.button999);
Button buttonCalc=(按钮)findViewById(R.id.button1000);
最终TextView textViewRes=(TextView)findViewById(R.id.textViewRes);
setOnClickListener(新的OnClickListener(){
公共void onClick(视图arg0){
字符串numCatch=editTextNum.getText().toString().trim();
如果(numCatch.length()!=0){
num.add(numCatch);
editTextNum.setText(“”);
}
textViewRes.setText(“平均值为”);
}
});
setOnClickListener(新的OnClickListener(){
公共void onClick(视图arg0){
DecimalFormat=新的DecimalFormat(“#.###”);

对于(int i=0;i我不知道是否正确,但您可以使用该方法。split(“+”)将输入字符串拆分为一个字符串数组,这些字符串是您的数字。然后将每个字符串分别转换为int,并像前面一样继续。如果您希望在“=”后面找到答案,连接输入字符串和结果字符串。

当你有一个名为*1-36的变量列表不适合你的屏幕时,是时候检查你的代码结构了。它是完美的,但如果屏幕的大小变小或变大,它就不再完美。
不适合你的屏幕的变量
,我的意思只是y我们的代码。我明白你的意思。但我决定尝试这样做,因为这样用户可以更容易地使用它。希望你也理解我的意思。谢谢!你的代码的组织方式与你的用户无关。我做到了。我编辑了第一篇文章。但现在我正在尝试处理复杂的平均值。这个平均值是根据简单平均*3+用户输入的另一个值,全部除以4。我不会这样做。首先,使用虚拟键盘,您可能希望限制为数字,而数字通常不包括
+
。其次,屏幕上的实际
+
按钮允许您创建项目列表并立即逐个验证。