У меня куча ошибок в зоне запуска андроид студии - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь создать приложение, но продолжаю получать ошибки, которых я даже не коснулся.

Я искал все возможные ошибки в написанном мною коде, но не смог их найти.

/// code i wrote

package com.example.save_dollars_finalcopy;

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

import com.google.android.material.bottomnavigation.BottomNavigationView;

import androidx.appcompat.app.AppCompatActivity;
import androidx.navigation.NavController;
import androidx.navigation.Navigation;
import androidx.navigation.ui.AppBarConfiguration;
import androidx.navigation.ui.NavigationUI;

public class MainActivity extends AppCompatActivity {

    TextView ExpensesYearTotal, ExpensesTotal, ExpensesWeekTotal, ExpensesMonthTotal, Total;
    EditText ExpensesWeek, ExpensesMonth, ExpensesYear, ExpensesDay;
    Button add;

    float TotalOfE;
    int num1, num2, num3, num4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        BottomNavigationView navView = findViewById(R.id.nav_view);
        // Passing each menu ID as a set of Ids because each
        // menu should be considered as top level destinations.
        AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder(
                R.id.navigation_dashboard, R.id.navigation_home, R.id.navigation_notifications)
                .build();

        NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment);
        NavigationUI.setupActionBarWithNavController(this, navController, appBarConfiguration);
        NavigationUI.setupWithNavController(navView, navController);


        ExpensesMonthTotal = (TextView) findViewById(R.id.ExpensesMonthTotal);
        ExpensesTotal = (TextView)findViewById(R.id.ExpensesTotal);
        ExpensesYearTotal = (TextView)findViewById(R.id.ExpensesYearTotal);
        ExpensesWeekTotal = (TextView)findViewById(R.id.ExpensesWeekTotal);
        Total = (TextView)findViewById(R.id.Total);

        ExpensesWeek = (EditText)findViewById(R.id.ExpensesWeek);
        ExpensesMonth = (EditText)findViewById(R.id.ExpensesMonth);
        ExpensesYear = (EditText)findViewById(R.id.ExpensesYear);
        ExpensesDay = (EditText)findViewById(R.id.ExpensesDay);

        add = (Button)findViewById(R.id.add);

        add.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                num1 = Integer.parseInt(ExpensesMonth.getText().toString());
                num2 = Integer.parseInt(ExpensesYear.getText().toString());
                num3 = Integer.parseInt(ExpensesDay.getText().toString());
                num4 = Integer.parseInt(ExpensesWeek.getText().toString());

                TotalOfE = num1 - num2 - num3 - num4;

                ExpensesTotal.setText(String.valueOf(TotalOfE));

            }
        });







    }

}

/// Запустить раздел android studio, а также появившиеся ошибки

E / AndroidRuntime: FATAL EXCEPTION: main Процесс: com.example.save_dollars_finalcopy, PID: 31989 java.lang.RuntimeException: Невозможно запустить действие. ComponentInfo {com.example.save_dollars_finalcopy / com.example.save_dollars_finalcopy.MainActivity}: java.lang.NullPointerException: попытка вызвать виртуальный метод void android.widget.Button.setOnClickistenView$ OnClickListener) 'для пустой ссылки на объект на android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2913) на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3048) на android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) на android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) в android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1808) в android.os.Handler.disatch(Handler.java:106) в android.os.Looper.loop (Looper.java:193) в android.app.ActivityThread.main (ActivityThread.java:6669) в java.lang.reflect.Method.invoke (собственный метод) в com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:493) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858) Вызывается: java.lang.NullPointerException:Попытайтесь вызвать виртуальный метод 'void android.widget.Button.setOnClickListener (android.view.View $ OnClickListener)' для пустой ссылки на объект в com.example.save_dollars_finalcopy.MainActivity.onCreate (MainActivity.java:55) в android.app. .Activity.performCreate (Activity.java:7136) в android.app.Activity.performCreate (Activity.java:7127) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1271) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2893) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3048) в android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItemI.java: 78) в android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) в android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1808) на android.os.Handler.dispatchMessage (Handler.java:106) на android.os.Looper.loop (Looper.java:193) на android.app.ActivityThread.main (ActivityThread.java:6669) в java.lang.reflect.Method.invoke (собственный метод) в com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:493) в com.android.internal.os.ZygoteInit.main (ZygoteInit).java: 858)

I expected the code to work.
...