diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java
index f26c3bcff..386bbce26 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/BasePreferenceFragment.java
@@ -22,9 +22,12 @@ import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTransaction;
import androidx.preference.Preference;
import androidx.preference.PreferenceFragmentCompat;
+import com.hippo.ehviewer.R;
import com.hippo.ehviewer.ui.SettingsActivity;
@@ -56,6 +59,22 @@ public class BasePreferenceFragment extends PreferenceFragmentCompat
}
+ @Override
+ public boolean onPreferenceTreeClick(Preference preference) {
+ String key = preference.getKey();
+ try {
+ Fragment classObj = (Fragment)Class.forName(key).newInstance();
+ requireActivity().getSupportFragmentManager()
+ .beginTransaction()
+ .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
+ .replace(R.id.fragment, classObj)
+ .addToBackStack(null)
+ .commitAllowingStateLoss();
+ } catch (ClassNotFoundException | IllegalAccessException | java.lang.InstantiationException ignored) {
+ }
+ return true;
+ }
+
private void setTitle(@StringRes int string) {
requireActivity().setTitle(string);
}
diff --git a/app/src/main/java/com/hippo/ehviewer/ui/fragment/SettingsFragment.java b/app/src/main/java/com/hippo/ehviewer/ui/fragment/SettingsFragment.java
index 1c87ee64a..98d34ae5e 100644
--- a/app/src/main/java/com/hippo/ehviewer/ui/fragment/SettingsFragment.java
+++ b/app/src/main/java/com/hippo/ehviewer/ui/fragment/SettingsFragment.java
@@ -33,24 +33,6 @@ public class SettingsFragment extends BasePreferenceFragment {
addPreferencesFromResource(R.xml.settings_headers);
}
- @Override
- public boolean onPreferenceTreeClick(Preference preference) {
- String key = preference.getKey();
- try {
- Fragment classObj = (Fragment)Class.forName(key).newInstance();
- requireActivity().getSupportFragmentManager()
- .beginTransaction()
- .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
- .replace(R.id.fragment, classObj)
- .addToBackStack("1")
- .commitAllowingStateLoss();
- } catch (ClassNotFoundException | IllegalAccessException | java.lang.InstantiationException e) {
- e.printStackTrace();
- return false;
- }
- return true;
- }
-
@Override
public int getFragmentTitle() {
return R.string.settings;
diff --git a/app/src/main/res/xml/advanced_settings.xml b/app/src/main/res/xml/advanced_settings.xml
index 9f8178ee1..1f35ef6d7 100644
--- a/app/src/main/res/xml/advanced_settings.xml
+++ b/app/src/main/res/xml/advanced_settings.xml
@@ -80,8 +80,7 @@
app:iconSpaceReserved="false" />
diff --git a/app/src/main/res/xml/eh_settings.xml b/app/src/main/res/xml/eh_settings.xml
index 5fcada489..9ac796a3d 100644
--- a/app/src/main/res/xml/eh_settings.xml
+++ b/app/src/main/res/xml/eh_settings.xml
@@ -39,15 +39,13 @@
app:iconSpaceReserved="false" />
@@ -145,8 +143,7 @@
app:url="@string/settings_eh_tag_translations_source_url" />