- Forum-Beiträge: 3
16.08.2018, 14:10:10 via Website
16.08.2018 14:10:10 via Website
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:
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
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.