Как вызвать функцию кнопкой. Android

Ситуация такая. Есть MainActivity, в нем есть метод onCreate и process(который вызывается кнопкой enter). Я хочу просто вызвать метод sum из MainActivity. Когда я вызываю, то вылетает, и ошибка nullPoinerExeption и типа этого Could not execute method for android:onClickвведите сюда код

введите сюда описание изображения

package com.example.myapplication111336;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    public EditText edit1;
    public TextView result;

    public static int sum(int a, int b) { return a + b; }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        edit1 = findViewById(R.id.edit1);
        result = findViewById(R.id.result);
    }

    public void process(View view) { result.setText(sum(3, 4)); }
}

Ответы (2 шт):

Автор решения: Arty Morris

Зачем вам process(View view)? У вас что, обращение к View есть? И проверьте правильность написания имени виджета в xml и Mainactivity. Также ошибка в том, что получаете результат в int, и хотите его засунуть в Text.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    edit1 = findViewById(R.id.edit1);
    result = findViewById(R.id.result);
    result.setText(Integer.toString(sum(3, 4))); 
}
→ Ссылка
Автор решения: bufferum

Чтобы вызвать функцию нажатием на кнопку, нужно было во-первых сделать слушатель в MainActivity ВОТ ТАК.

findViewById(R.id.enter).setOnClickListener(view -> {
    Logic.replace();
    result.setText(String.valueOf(Logic.answer));
});

В фигурных скобках можно указать даже несколько требуемых функций.

Во-вторых (НЕ вдаваясь в мой настоящий код), было необходимо вписать .getText без которого вся программа ломалась.

public static MainActivity MA = new MainActivity();
public static void GetTS() {
    choice = Integer.parseInt(MA.edit5.getText().toString())-1;
    index[3] = Integer.parseInt(MA.edit6.getText().toString());
    ...

Так я смог в другом файле, в другом классе, определить значения переменных так как мне надо.

→ Ссылка