【问题标题】:How to add more values in one editText Android?如何在一个editText Android中添加更多值?
【发布时间】:2014-03-27 20:11:17
【问题描述】:

我有一个计算 2 个简单平均值和 1 个复杂平均值的应用程序。问题是平均值是根据在 9 个编辑文本中输入的 9 个值计算的,即使应用程序运行良好,其他大小屏幕上的编辑文本也不再排列。我尝试了几件事来使它工作,但到目前为止还没有,所以,我决定只有 1 个编辑文本(在简单平均值的情况下)和按钮会容易得多。在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();
        }
    });
}}

【问题讨论】:

  • 当您有一个名为 *1-36 的变量列表不适合您的屏幕时,是时候检查您的代码结构了。
  • 合身完美,但屏幕尺寸变小或变大就不再完美了。
  • variables that does not fit on your screen,我只是在你的代码中。
  • 我明白你的意思。但我决定尝试这样做,因为它可以让用户更容易使用它。希望你也明白我的意思。谢谢!
  • 代码的组织方式与用户无关。

标签: java android android-edittext average


【解决方案1】:

我不知道我是否正确,但您可以使用方法 .split("+") 将输入字符串拆分为字符串数组,即您的数字。然后将每个字符串分别转换为 int,并像以前一样继续。如果要“=”后的答案,请将输入字符串和结果字符串连接起来。

【讨论】:

  • 我做到了.. 我已经编辑了第一篇文章。但现在我正在尝试处理复杂平均值。这个平均值是根据简单平均值 * 3 + 用户输入的另一个值计算得出的,全部除以 4。
  • 我不会那样做。一方面,使用虚拟键盘,您可能希望限制为数字,通常不包括+。其次,屏幕上的实际+ 按钮允许您构建项目列表并立即单独验证它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-28
  • 2012-01-12
  • 2017-11-20
  • 1970-01-01
  • 2014-09-20
  • 1970-01-01
相关资源
最近更新 更多