Я работаю над простой настройкой настроек. Я использую заголовки предпочтений, PreferenceFragment, несколько файлов экрана предпочтений и PreferenceActivity. Я хочу, чтобы он выглядел и работал как настройки системы Android. Все работает нормально на планшете. В настройках отображаются два фрагмента, один с заголовками и один с экраном предпочтений. Когда я открываю приложение на телефоне, он отображает только один фрагмент с заголовками, что именно то, что я хочу, но когда я нажимаю на что-то, приложение падает. Я хочу, чтобы он работал точно так же, как и системные настройки Android, а это значит, что когда я нажимаю на что-то на телефоне, он заменяет фрагмент экраном предпочтений. Благодарим вас за помощь.Приложение падает, когда я нажимаю на заголовок предпочтения по телефону
Вот мой код:
headers.xml
<preference-headers
xmlns:android="http://schemas.android.com/apk/res/android">
<header
android:fragment="settingsApps.com.bendit.ILY.mysetts.PrefsF"
android:title="@string/settings_update"
android:summary="@string/settings_updateSummary" >
</header>
<header
android:fragment="settingsApps.com.bendit.ILY.mysetts.PrefsF"
android:title="@string/settings_display"
android:summary="@string/settings_displaySummary">
</header>
<header
android:fragment="settingsApps.com.bendit.ILY.mysetts.PrefsF"
android:title="@string/settings_notify">
</header>
</preference-headers>
PreferenceActivity (Prefs.java)
public class Prefs extends PreferenceActivity {
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.headers, target);
}
}
PreferenceFragment (PrefsF.java)
public class PrefsF extends PreferenceFragment{
@Override
public void onCreate(Bundle savedInstanceState) {
int preferenceFile_toLoad=-1;
String settings = getArguments().getString("settings");
if (Constants.SETTING_UPDATE.equals(settings)) {
// Load the preferences from an XML resource
preferenceFile_toLoad= R.xml.preference_update;
}else if (Constants.SETTING_DISPLAY.equals(settings)) {
// Load the preferences from an XML resource
preferenceFile_toLoad=R.xml.preference_display;
}else if (Constants.SETTING_NOTIFY.equals(settings)) {
// Load the preferences from an XML resource
preferenceFile_toLoad=R.xml.preference_notify;
}
addPreferencesFromResource(preferenceFile_toLoad);
}
}
Можете ли вы разместить логарифм? – maysi