App stürzt direkt ab

  • 5 Antworten
  • Neuster Beitrag
P

pagrf

Neues Mitglied
Threadstarter
Hallo,
habe eine App programiert. Sobald dich bei Android Studio auf Run App klicke öffnet sich die App kurz auf meinem Handy dann stürzt sie ab. Ich packe euch mal meinen Logcat und die Mainactivity rein. Wäre sehr dankbar wenn ihr euch das mal anschauen könntet. Bzw. mir sagen könntet, was ich überarbeiten muss.
Logcat:

Code:
2019-11-17 17:16:18.378 31364-31364/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.langlaufendeutschland, PID: 31364
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.langlaufendeutschland/com.example.langlaufendeutschland.MainActivity}: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3430)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86)
        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:2199)
        at android.os.Handler.dispatchMessage(Handler.java:112)
        at android.os.Looper.loop(Looper.java:216)
        at android.app.ActivityThread.main(ActivityThread.java:7625)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987)
     Caused by: java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.
        at androidx.appcompat.app.AppCompatDelegateImpl.setSupportActionBar(AppCompatDelegateImpl.java:345)
        at androidx.appcompat.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:130)
        at com.example.langlaufendeutschland.MainActivity.onCreate(MainActivity.java:34)
        at android.app.Activity.performCreate(Activity.java:7458)
        at android.app.Activity.performCreate(Activity.java:7448)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1286)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3409)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3614) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:86) 
        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:2199) 
        at android.os.Handler.dispatchMessage(Handler.java:112) 
        at android.os.Looper.loop(Looper.java:216) 
        at android.app.ActivityThread.main(ActivityThread.java:7625) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:524) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:987) 
2019-11-17 17:16:18.389 31364-31364/? I/Process: Sending signal. PID: 31364 SIG: 9
Mainactivity:
Code:
import androidx.annotation.NonNull;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import com.google.android.material.navigation.NavigationView;

import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Toast;


public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener, AdapterView.OnItemSelectedListener {
    private DrawerLayout drawer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



        getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new polynomfunktionen_fragment ()).commit();


        {
            Toolbar toolbar = (Toolbar)findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);

            drawer = findViewById(R.id.drawer_layout);
            NavigationView navigationView=findViewById(R.id.nav_view);
            navigationView.setNavigationItemSelectedListener(this);

            ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar,
                    R.string.navigation_drawer_open, R.string.navigation_drawer_close);
            drawer.addDrawerListener(toggle);
            toggle.syncState();}





    }



    @Override
    public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
        switch(menuItem.getItemId()){


            case R.id.nav_polynomfunktionen:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new polynomfunktionen_fragment ()).commit();

                break;

            case R.id.nav_potenzundwurzelfunktionen:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new potenzundwurzelfunktionen_fragment ()).commit();

                break;
            case R.id.nav_gebrochenrationalefunktionen:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new gebrochenrationalefunktionen_fragment ()).commit();

                break;

            case R.id.nav_exponentialundlogarithmischefunktionen:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new exponentialundlogarithmusfunktionen_fragment ()).commit();

                break;
            case R.id.nav_trigonometrischefunktionen:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new trigonometrischefunktionen_fragment ()).commit();

                break;

            case R.id.nav_weiterefunktionen:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new weiterefunktionen_fragment ()).commit();

                break;

            case R.id.nav_info:
                getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,new info_fragment ()).commit();
                break;


        }

        drawer.closeDrawer( GravityCompat.START);

        return true;
    }


    @Override
    public void onBackPressed() {
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }


    }

    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        String text = parent.getItemAtPosition(position).toString();
        Toast.makeText(parent.getContext(),text,Toast.LENGTH_LONG).show();
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {

    }
}
 
swa00

swa00

Moderator
Teammitglied
Hallo pagrf,

dein Log gibt Dir bereits eine eindeutige Fehlermeldung aus , was du falsch gemacht hast.

This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_SUPPORT_ACTION_BAR and set windowActionBar to false in your theme to use a Toolbar instead.


Grund : Zeile 34
com.example.langlaufendeutschland.MainActivity.onCreate(MainActivity.java:34)
 
Zuletzt bearbeitet:
J

jogimuc

Erfahrenes Mitglied
Hallo
Was mich bei deinen Code etwas verwundert ist das du alles nochmal in einen Block mit geschweiften Klammern hast.
Hast du da etwas weg gekürzt für uns? Sieht mir sehr danach aus.

Denn eigentlich sollte das gehen , vorausgesetzt dein Layout ist ok.

Zeige uns mal dein Layout ob du überhaupt eine Tool Bar ... hast.
 
D

deek

Stammgast
@swa00 hat Recht. Die Lösung ist in diesem Fall eins der .NoActionBar Themes zu verwenden, ich nehme an du benutz ein Theme mit ActionBar.
 
J

jogimuc

Erfahrenes Mitglied
Hallo @pagf
Du hast nun drei Antworten bekommen.
Statt uns auch ein Feedback zu geben.
Machst du einfach einen neuen Thread mit dem gleichen Code und sicher den gleichen Fehler auf.
Unfärh so etwas wenn du nicht mal ein Danke oder dergleichen von dir gibst.

Logcat fehler – Android App Entwicklung
 
Zuletzt bearbeitet:
Oben Unten