Servus,
ich bin kürzlich in die Welt des App Programmierens eingestiegen und dementsprechend noch ein ziemlicher Laie, also nehmt es mir nicht allzu übel wenn meine Frage vielleicht ein bisschen simpel erscheint.
Ich lerne grade noch die Basics, aber damit es auch spannend bleibt, wage ich mich auch schon einige für einen Anfänger kompliziertere Aufgaben heran, gemäß dem Motto "learning by doing".
Ich nutze Android Studio als Entwicklungsumgebung.
Die App läuft auch soweit, jedoch habe ich heute eine Navigationsleiste im unteren Bildschirmbereich implementiert und wollte diese mit den einzelnen Aktivitäten verknüpfen, wenn ich jetzt jedoch die App ausführe und ein Icon anklicke, stürzt es umgehend ab.
Im Logcat lässt sich ablesen, dass es sich um einen NullPointerExeption Fehler handelt, warum dieser generell entsteht ist mir bewusst, jedoch habe ich leider keine Ahnung was ich nun ändern muss um diesen zu beheben. Es wäre sehr hilfreich für mich, wenn sich jemand erbarmen würde und mir sagt, wie der Fehler zu beheben ist.
BottomNavigationViewHelper.Java:
HelpActivity.Java:
Logcat:
Ich versuche schon seit stunden das Problem zu lösen, leider nicht grade von Erfolg gekrönt...
Danke im voraus für jede hilfreiche Antwort
Grüße "Smart"Code
ich bin kürzlich in die Welt des App Programmierens eingestiegen und dementsprechend noch ein ziemlicher Laie, also nehmt es mir nicht allzu übel wenn meine Frage vielleicht ein bisschen simpel erscheint.
Ich lerne grade noch die Basics, aber damit es auch spannend bleibt, wage ich mich auch schon einige für einen Anfänger kompliziertere Aufgaben heran, gemäß dem Motto "learning by doing".
Ich nutze Android Studio als Entwicklungsumgebung.
Die App läuft auch soweit, jedoch habe ich heute eine Navigationsleiste im unteren Bildschirmbereich implementiert und wollte diese mit den einzelnen Aktivitäten verknüpfen, wenn ich jetzt jedoch die App ausführe und ein Icon anklicke, stürzt es umgehend ab.
Im Logcat lässt sich ablesen, dass es sich um einen NullPointerExeption Fehler handelt, warum dieser generell entsteht ist mir bewusst, jedoch habe ich leider keine Ahnung was ich nun ändern muss um diesen zu beheben. Es wäre sehr hilfreich für mich, wenn sich jemand erbarmen würde und mir sagt, wie der Fehler zu beheben ist.
BottomNavigationViewHelper.Java:
- public class BottomNavigationViewHelper {
- private static final String TAG = "BottomNavigationViewHel";
- public static void setupBottomNavigationView(BottomNavigationView bottomNavigationView){
- Log.d(TAG, "setupBottomNavigationView: Setting up BottomNavigationView");
- }
- public static void enableNavigation(final Context context, BottomNavigationView view){
- view.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
- @Override
- public boolean onNavigationItemSelected(@NonNull MenuItem item) {
- switch (item.getItemId()){
- case R.id.ic_profile:
- Intent intent1 = new Intent(context, ProfileActivity.class);//ACTIVITY_NUM = 0
- context.startActivity(intent1);
- break;
- case R.id.ic_add:
- Intent intent2 = new Intent(context, HelpActivity.class);//ACTIVITY_NUM = 1
- context.startActivity(intent2);
- break;
- case R.id.ic_jobs:
- Intent intent3 = new Intent(context, JobsActivity.class);//ACTIVITY_NUM = 2
- context.startActivity(intent3);
- break;
- }
- return false;
- }
- });
- }
- }
HelpActivity.Java:
- public class HelpActivity extends AppCompatActivity {
- private static final String TAG = "HelpActivity";
- private static final int ACTIVITY_NUM = 0;
- private Context mContext = HelpActivity.this;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_help);
- Log.d(TAG, "onCreate: starting.");
- setupBottomNavigationView();
- }
- /**
- * BottomNavigationView setup
- */
- private void setupBottomNavigationView(){
- Log.d(TAG, "setupBottomNavigationView: setting up BottomNavigationView");
- BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomNavViewBar);
- BottomNavigationViewHelper.setupBottomNavigationView(bottomNavigationView);
- BottomNavigationViewHelper.enableNavigation(mContext, bottomNavigationView);
- Menu menu = bottomNavigationView.getMenu();
- MenuItem menuItem = menu.getItem(ACTIVITY_NUM);
- menuItem.setChecked(true);
- }
- }
Logcat:
- Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.BottomNavigationView.setOnNavigationItemSelectedListener(android.support.design.widget.BottomNavigationView$OnNavigationItemSelectedListener)' on a null object reference
- at com.smarthelp.smarthelp.Utils.BottomNavigationViewHelper.enableNavigation(BottomNavigationViewHelper.java:30)
- at com.smarthelp.smarthelp.HelpActivity.setupBottomNavigationView(HelpActivity.java:37)
- at com.smarthelp.smarthelp.HelpActivity.onCreate(HelpActivity.java:27)
- at android.app.Activity.performCreate(Activity.java:7136)
- at android.app.Activity.performCreate(Activity.java:7127)
- at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
- at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
- at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
- at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
- at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
- at android.os.Handler.dispatchMessage(Handler.java:106)
- at android.os.Looper.loop(Looper.java:193)
- at android.app.ActivityThread.main(ActivityThread.java:6669)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
- 08-16 00:58:25.580 6992-6992/com.smarthelp.smarthelp I/Process: Sending signal. PID: 6992 SIG: 9
Ich versuche schon seit stunden das Problem zu lösen, leider nicht grade von Erfolg gekrönt...
Danke im voraus für jede hilfreiche Antwort
Grüße "Smart"Code