Android Studio App stürzt ab nach klick auf Button?

Hallo,

ich habe eine Android Studio Applikation mit einer Bottom Navigation bar, bei welcher unter dem Reiter "Profile" ein User hinzugefügt werden soll. Wenn ich dort auf "Add User" klick stürzt die App allerdings ab, in der Version ohne Navigationsbar funktioniert das allerdings einwand frei. Vielleicht kann mir jedmand helfen, den Fehler zu finden.

Hier ist die UI von Profile:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout ...
    ...
    <Button
        android:id="@+id/btAddUser"
        ...
        android:text="Add User"
        android:onClick="onAddUser"
        />

</LinearLayout>

Hier die UI der BottomBar:

<?xml version="1.0" encoding="utf-8"?>
<...
    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/fragment_container"
        >  
...
 app:menu="@menu/bottom_navigation"/>
    </FrameLayout>

Die Klasse zur BottomBar:

package com.example.bottomnav;
import ...
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

BottomNavigationView bottomNavigation = findViewById(R.id.bottom_navigation);    bottomNavigation.setOnNavigationItemSelectedListener(navListener);
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
...
private BottomNavigationView.OnNavigationItemSelectedListener navListener =
new BottomNavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(@NonNull @NotNull MenuItem item) {
Fragment selectedFragment = null;
switch (item.getItemId())
{
case R.id.nav_projects:
selectedFragment = new ...
ProfileFragment();
break;
}
                    getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,
selectedFragment).commit();
return true;
}};}

Hier der Code zum Profil hinzufügen:

@Nullable
@org.jetbrains.annotations.Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_profile, container, false);
}

public
class MyActivity extends AppCompatActivity {
    ...

    Button btAddUser;
...

    Boolean isAdmin = Boolean.FALSE;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_profile);
       ...
        btAddUser = findViewById(R.id.btAddUser);

        btAddUser.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {onAddUser(btAddUser);}

    public void onAddUser(View view) {
...

Computer, Java, Android, Informatik, XML, Progamm, Android Studio
Java: Was ist eine Fraction?

Hallo. Ich bin Anfänger in Java und habe zuvor mit C programmiert. Ich würde nun gerne wissen, was eine Fraction in Java ist. Kommt das in Java allgemein vor oder ist das etwas spezifisches in meinem Programm?

public class Fraction {
  private int denominator, numerator;

  /** Liefert den Wert des Nenners */
  public int getDenominator() {
    return denominator;
  }

  /** Liefert den Wert des Zählers */
  public int getNumerator() {
    return numerator;
  }

  public Fraction(int num, int den) {
    if (num <= 0) {
      throw new IllegalArgumentException("Zähler null oder negativ!");
    }

    if (den <= 0) {
      throw new IllegalArgumentException("Nenner null oder negativ!");
    }

    this.numerator = num;
    this.denominator = den;
  }

  public Fraction add(Fraction b) {
    int den, num;
    num = numerator * b.denominator + b.numerator * denominator;
    den = denominator * b.denominator;

    Fraction result = new Fraction(num, den);
    return result;
  }

  public Fraction sub(Fraction b) {
    int den, num;
    num = numerator * b.denominator - b.numerator * denominator;
    den = denominator * b.denominator;

    Fraction result = new Fraction(num, den);
    return result;
  }

  public Fraction mul(Fraction b) {
    int den, num;
    num = numerator * b.numerator;
    den = denominator * b.denominator;

    Fraction result = new Fraction(num, den);
    return result;
  }

  public Fraction div(Fraction b) {
    int den, num;
    num = numerator * b.denominator;
    den = denominator * b.numerator;

    Fraction result = new Fraction(num, den);
    return result;
  }

  /** Beim modernen euklidischen Algorithmus wird in
   * aufeinanderfolgenden Schritten jeweils eine 
   * Division mit Rest durchgeführt, wobei der Rest 
   * im nächsten Schritt zum neuen Divisor wird. 
   * Der Divisor, bei dem sich Rest 0 ergibt, 
   * ist der größte gemeinsame Teiler der Ausgangszahlen.

   * @param a ganze Zahl
   * @param b ganze Zahl
   * @return größter gemeinsamer Teiler 
   */
  private int greatestCommonDivisor(int a, int b) {
    int h;

    if (a == 0) {
      return Math.abs(b);
    }

    if (b == 0) {
      return Math.abs(a);
    }

    do {
      h = a % b;
      a = b;
      b = h;
    }
    while (b != 0);

    return Math.abs(a);
  }

  public static void main(String[] args) {
    Fraction f = new Fraction(12, 18);
    int gcd = f.greatestCommonDivisor(12, 18);
    System.out.println("" + gcd);

    gcd = f.greatestCommonDivisor(18, 12);
    System.out.println("" + gcd);
  }
}

Programmieren, Java
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.