Как это исправить: исключение нулевого указателя при создании намеренного сбоя
I'm trying to make an android app but I encoutered this error and I don't know what to do and why is it showing from the first place, the app crashes with the following error in the log: E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.ramy.medicare, PID: 2487 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ramy.medicare/com.example.ramy.medicare.Profile.materialtabs.activity.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) ***Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference at com.example.ramy.medicare.Profile.materialtabs.activity.MainActivity.onCreate(MainActivity.java:43)*** at android.app.Activity.performCreate(Activity.java:6679) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) at android.app.ActivityThread.-wrap12(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1477) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6119) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) here is the code: package com.example.ramy.medicare.Profile.materialtabs.activity; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import com.example.ramy.medicare.R; public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btnScrollableTabs_b, btnIconTabs_b, btnCustomIconTextTabs_b; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // toolbar = (Toolbar) findViewById(R.id.toolbar); // setSupportActionBar(toolbar); btnScrollableTabs_b = (Button) findViewById(R.id.btnScrollableTabs); btnIconTabs_b = (Button) findViewById(R.id.btnIconTabs); btnCustomIconTextTabs_b = (Button) findViewById(R.id.btnCustomIconTabs); //at these lines is the error: **btnScrollableTabs_b.setOnClickListener(this); btnIconTabs_b.setOnClickListener(this); btnCustomIconTextTabs_b.setOnClickListener(this);** // btnSimpleTabs = (Button) findViewById(R.id.btnSimpleTabs); // btnScrollableTabs = (Button) findViewById(R.id.btnScrollableTabs); // btnIconTextTabs = (Button) findViewById(R.id.btnIconTextTabs); // btnIconTabs = (Button) findViewById(R.id.btnIconTabs); // btnCustomIconTextTabs = (Button) findViewById(R.id.btnCustomIconTabs); // btnSimpleTabs.setOnClickListener(this); // btnScrollableTabs.setOnClickListener(this); // btnIconTextTabs.setOnClickListener(this); // btnIconTabs.setOnClickListener(this); // btnCustomIconTextTabs.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btnScrollableTabs: startActivity(new Intent(MainActivity.this, ScrollableTabsActivity.class)); break; case R.id.btnIconTabs: startActivity(new Intent(MainActivity.this, IconTabsActivity.class)); break; case R.id.btnCustomIconTabs: startActivity(new Intent(MainActivity.this, CustomViewIconTextTabsActivity.class)); break; } } } Kindly tell me what to do Im so confused, I instantiated the object so why am i getting this error ???
Что я уже пробовал:
Я пытался исправить макет я пытался изменить переменные,
Я все перепробовал, пожалуйста, помогите
Richard MacCutchan
Используйте отладчик, чтобы выяснить, почему ваши объекты Button являются нулевыми.
wseng
Разместите свой макет здесь