StackOverflowError erstellt von onCreatePreferencesJava

Java-Forum
Anonymous
 StackOverflowError erstellt von onCreatePreferences

Post by Anonymous »

Wenn ich ein Einstellungsfragment aus meiner Hauptaktivität heraus aufrufe, stürzt das Einstellungsfragment immer aufgrund eines Stapelüberlauffehlers ab, der dadurch verursacht wird, dass onCreatePreferences mehrmals aufgerufen wird.

Ich habe andere Fragmente, die einwandfrei geladen und ausgeführt werden, aber sie erweitern Fragment und nicht PreferenceFragmentCompat. Ich habe den Code direkt aus der Android-Dokumentation entnommen. Außerdem verwende ich in der gesamten App androidx.

Code: Select all

private BottomNavigationView.OnNavigationItemSelectedListener mOnNavigationItemSelectedListener
= new   BottomNavigationView.OnNavigationItemSelectedListener() {

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {

FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();

switch (item.getItemId()) {

case R.id.navigation_dashboard:
selected = MapFragment.newInstance();
break;

case R.id.navigation_notifications:
selected = new PreferencesFragment();
break;
default:
selected = OffersFragment.newInstance(1);
break;

}

transaction.replace(R.id.frame_layout, selected).commit();

return true;
}
};

....

static class PreferencesFragment extends PreferenceFragmentCompat {

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
super.onCreate(savedInstanceState);
setPreferencesFromResource(R.xml.preferences, rootKey);
}
// TODO: Rename method, update argument and hook method into UI    event

}

Code: Select all

08-15 11:24:47.857 28789-28789/com.xxx E/AndroidRuntime: FATAL        EXCEPTION: main
Process: com.xxx, PID: 28789
java.lang.StackOverflowError: stack size 8MB
at       androidx.preference.PreferenceFragmentCompat.onCreate(PreferenceFragment    Compat.java:141)
at     com.xxx.MainActivity$PreferencesFragment.onCreatePreferences(MainActivity.java:138)

D/Error: ERR: exClass=java.lang.StackOverflowError
ERR: exMsg=stack size 8MB
ERR: file=PreferenceFragmentCompat.java
ERR: class=androidx.preference.PreferenceFragmentCompat
ERR: method=onCreate line=141
ERR: stack=java.lang.StackOverflowError: stack size 8MB
Dies ist der tatsächliche Fehler, den ich erhalte. Ich bin mir nicht sicher, warum onCreatePreference immer wieder aufgerufen wird.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post