MainActivity.java
package com.example.kalkulator2;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

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

        textView = (TextView)findViewById(R.id.textView);
    }

    TextView textView;
    String operation;
    Double x;

    public void onButtonClick1(View view) {
        Toast.makeText(getApplicationContext(), ((Button)view).getText(), Toast.LENGTH_LONG).show();
    }

    public void onButtonClick2(View view) {
        String string = ((Button)view).getText().toString();
        textView.setText(textView.getText().toString() + string);
    }

    public void onButtonClick(View view) {

        String stringButton = ((Button)view).getText().toString();
        Double wynik = 0.0;
        String display;
        switch (stringButton) {
            case "+":
            case "-":
            case "*":
            case "/":
                operation= stringButton;
                x = Double.parseDouble(textView.getText().toString());
                textView.setText("0");
                break;
            case "1/x":
                wynik = 1 / Double.parseDouble(textView.getText().toString());
                textView.setText(String.valueOf(wynik));
                break;
            case "%":
                wynik = 0.01 * Double.parseDouble(textView.getText().toString());
                textView.setText(String.valueOf(wynik));
                break;
            case "+/-":
                wynik = - Double.parseDouble(textView.getText().toString());
                textView.setText(String.valueOf(wynik));
                break;
            case "c":
                wynik = 0.0;
                textView.setText("0");
                break;
            case "=":
                if (operation != null) {
                    switch (operation) {
                        case "+":  wynik = x + Double.parseDouble(textView.getText().toString()); break;
                        case "-":  wynik = x - Double.parseDouble(textView.getText().toString()); break;
                        case "*":  wynik = x * Double.parseDouble(textView.getText().toString()); break;
                        case "/":  wynik = x / Double.parseDouble(textView.getText().toString()); break;
                    }
                    textView.setText(String.valueOf(wynik));
                }
                break;
            default:
                display = textView.getText().toString() + stringButton;
                if (display.charAt(0) == '0' & Double.parseDouble(display) >= 1) display = display.substring(1);
                textView.setText(display);
                break;
        }
        Toast.makeText(getApplicationContext(), "DziaƂanie " + operation + "\n x = " + x, Toast.LENGTH_LONG).show();
    }
}