如何将多个按钮上显示的TextView Integer值相乘单击

问题描述

我有10个带有2列(如5x2)的按钮。这2列包含for循环,其中包含5个按钮,每个按钮具有每列的文本视图,并且当用户单击这2列中的任何按钮时,将显示2个textview整数。我想将这些显示的数字相乘以在3rd Textview中获得最终结果,但不能相乘,以下是我编写的代码:

public class MultiplicationActivity extends AppCompatActivity{
    private static final int[] column1_buttonsArrays = {R.id.column1_button0,R.id.column1_button1,R.id.column1_button2,R.id.column1_button3,R.id.column1_button4};
    private Button[] c1_buttons = new Button[column1_buttonsArrays.length];
    int i1;
    private static final int[] column2_buttonsArrays = {R.id.column2_button0,R.id.column2_button1,R.id.column2_button2,R.id.column2_button3,R.id.column2_button4};
    private Button[] c2_buttons = new Button[column2_buttonsArrays.length];
    int i2;
    int num1,num2,solution1;
    @Override
        protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.multiplication);
        
           dummyTextValue1 = findViewById(R.id.dummy_value1);
           dummyTextValue2 = findViewById(R.id.dummy_value2);
           multipliedText = findViewById(R.id.multiplied_value);
        
           for(i1 = 0; i1 < column1_buttonsArrays.length; i1++) {
           c1_buttons[i1] = findViewById(column1_buttonsArrays[i1_buttons]);
           c1_buttons[i1].setOnClickListener(new View.OnClickListener() {
           @Override
             public void onClick(View view) {
             switch (view.getId()) {
             case R.id.column1_button0:
                 dummyTextValue1.setText("0");
                 break;
             case R.id.column1_button1:
                 dummyTextValue1.setText("1");
                 break;
             case R.id.column1_button2:
                 dummyTextValue1.setText("2");
                 break;
             case R.id.column1_button3:
                 dummyTextValue1.setText("3");
                 break;
             case R.id.column1_button4:
                 dummyTextValue1.setText("4");
                 break;
                }
            }
        });
    }
            for(i2 = 0; i2 < column2_buttonsArrays.length; i2++) {
            c2_buttons[i2] = findViewById(column2_buttonsArrays[i2_buttons]);
            c2_buttons[i2].setOnClickListener(new View.OnClickListener() {
            @Override
              public void onClick(View view) {
              switch (view.getId()) {
             case R.id.column2_button0:
                 dummyTextValue2.setText("0");
                 break;
             case R.id.column2_button1:
                 dummyTextValue2.setText("1");
                 break;
             case R.id.column2_button2:
                 dummyTextValue2.setText("2");
                 break;
             case R.id.column2_button3:
                 dummyTextValue2.setText("3");
                 break;
             case R.id.column2_button4:
                 dummyTextValue2.setText("4");
                 break;
                }
            }
        });
    }
    String value1 = dummyTextValue1.getText().toString();
    String value2 = dummyTextValue2.getText().toString();
    num1 = Integer.parseInt(value1);
    num2 = Integer.parseInt(value2);
    solution1 = (int) (num1 * num2);
    multipliedText.setText(solution1);
  }
}

不了解我在哪里做错了。请给我一个想法或更新的代码,我该如何从for循环中获得多个显示值。预先感谢。.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)