Calculadora com Spinner no android Studio

Fala galera se alguem puder me ajudar, estou fazendo um trabalho na faculdade e preciso fazer uma calculadora com spinner, tentei fazer mas nao para de dar um erro.

package com.example.myapplication3;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
private EditText editText1;
private EditText editText2;
private TextView textView3;
private Spinner spinner1;

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

    editText1 = (EditText) findViewById(R.id.editText1);
    editText2 = (EditText) findViewById(R.id.editText2);
    textView3 = (TextView) findViewById(R.id.textView3);
    spinner1 = (Spinner) findViewById(R.id.spinner1);
    String[] opcao = {"Soma", "Subtração", "Multiplicação", "Divisão"};


    // Define a forma de aprsetnação da opções: DropDown
    ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, opcao);

    //Prepara a ligação com o Spinner
    ArrayAdapter<String> spinnerArrayAdapter = arrayAdapter;
    spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
    // Realiza o preenchimento do Spinner
    spinner1.setAdapter(arrayAdapter);
    proceso();
}
    public void processo () {
        spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView av, View v, int p, long id) {
                try {
                    if (p == 0)
                        textView3.setText("Resultado: Selecione a Operação");
                    else {
                        int valor1 = Integer.parseInt(editText1.getText().toString());
                        int valor2 = Integer.parseInt(editText2.getText().toString());
                        int total = 0;
                        switch (p) {
                            case 1:
                                total = valor1 + valor2;
                                break;
                            case 2:
                                total = valor1 - valor2;
                                break;
                            case 3:
                                total = valor1 * valor2;
                                break;
                            case 4:
                                total = valor1 / valor2;
                        }
                        textView3.setText("Resultado:" + total);
                    }
                } catch (NumberFormatException e) {
                    textView3.setText("Resultado: faltam dados");
                } catch (ArithmeticException e) {
                    textView3.setText("Resultado: Erro na operação");
                }
            }
        }

    }

}