简体   繁体   中英

how do you add two or more numbers selected randomly by the user in a single EditText using android studio?

I am making a mobile calculator and I am aware there are many that have been created. I tried using others as an example to build mine but I have been stuck for days. I was able to display numbers on the EditText when user selects random numbers, but I cannot figure how to add, sub, multi, divide, the numbers that were selected by the user. Please show an example of how I can solve it. This is my first mobile application.

public class MainActivity extends AppCompatActivity {

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

    final TextView editText = (EditText) findViewById(R.id.edit_text);

    final Button Button0 = (Button) findViewById(R.id.Button_0);
    final Button Button1 = (Button) findViewById(R.id.Button_1);
    Button Button2 = (Button) findViewById(R.id.Button_2);
    Button Button3 = (Button) findViewById(R.id.Button_3);
    Button Button4 = (Button) findViewById(R.id.Button_4);
    Button Button5 = (Button) findViewById(R.id.Button_5);
    Button Button6 = (Button) findViewById(R.id.Button_6);
    Button Button7 = (Button) findViewById(R.id.Button_7);
    Button Button8 = (Button) findViewById(R.id.Button_8);
    Button Button9 = (Button) findViewById(R.id.Button_9);

    Button clear_Btn = (Button) findViewById(R.id.C_Button);
    Button decimal_Btn = (Button) findViewById(R.id.Decimal_Button);
    Button equal_Btn = (Button) findViewById(R.id.equal_Button);
    final Button add_Btn = (Button) findViewById(R.id.Addition_Button);


    /////////////////// NUMBER BUTTONS ///////////////////////

    Button0.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + 0);
        }
    });

    Button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            editText.setText(editText.getText().toString() + 1);

        }

    });

    Button2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + 2);
        }
    });

    Button3.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + 3);
        }
    });

    Button4.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + 4);
        }
    });

    Button5.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + 5);
        }
    });

    Button6.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + 6);
        }
    });

    Button7.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + 7);
        }
    });

    Button8.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + 8);
        }
    });

    Button9.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + 9);
        }
    });


    ///////////////////// Sign Buttons /////////////////////

    // Clear Button
    clear_Btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText("");
        }
    });

    // Decimal Button
    decimal_Btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + ".");
        }
    });



    // Equal button
    equal_Btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }

        });



    // Add button
    add_Btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            editText.setText(editText.getText().toString() + "+");


        }
    });
}

}

A couple ways to achieve this, you just need a way to retrieve the current number in the calculator and perform an operation against the new selected number

So store the main number in its own variable, and then perform the desired operation against a new number, before you set the new edittext value

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM