将EditText存储在数组中并显示在TextView中

时间:2017-03-04 20:21:36

标签: java android arrays

我试图将我的EditTexts存储在一个数组中,并在TextView中显示所有这些,然后使用sum函数获取数组的总和并显示总和。但我现在陷入困境。

public void Clickme (View view) {
   public void clickMe (View v){
    //my EditText’s ID is called myInput
        EditText myInput = (EditText) findViewById(R.id.myInput);
    //my TextView’s ID is called text2
        TextView text2 = (TextView) findViewById(R.id.text2);
        String str = myInput.getText().toString();
        text2.setText(str);
        int [] array = new int [myInput.length()];
        //I am stuck at this point
        for(int i=0; i <myInput.length(); i++) {
            array[i] = Integer.valueOf(myInput.getText(i));
        }
       //sum function
       for (int i: array) {
        str = str + i;
        EditText.setText(str);
    }
}

1 个答案:

答案 0 :(得分:2)

你在方法中有一个方法......那就不会编译

public void Clickme (View view) {
   public void clickMe (View v){

你想在这做什么? EditText.setText(str);

setText不是静态方法。

  

然后有一个sum函数来获取数组的总和并显示总和

在这里? str = str + i;

这不是数字的总和。您将一个数字附加到字符串。

此方法不存在...... myInput.getText(i)

根据您的循环和数组创建,看起来您想要添加数字的所有数字。

private EditText myInput;
private TextView text2;

public void onCreate(Bundle b) {
    super.onCreate(b);
    setContentView(...);
    ...

    myInput = (EditText) findViewById(R.id.myInput);
    text2 = (TextView) findViewById(R.id.text2);
} 

public void clickMe (View view) {
    String input = myInput.getText().toString();
    int number = 0;
    if (!input.isEmpty()) {
        number = Integer.parseInt(input);
    }
    // Sum the digits in a number
    int sum = 0;
    while (number > 0) {
        sum += number % 10;
        number = number / 10;
    }
    text2.setText(String.valueOf(sum));
}