Создать класс для создания экземпляра PreferenceFragment
У меня есть приложение с фрагментами. У меня проблемы с получением PreferenceFragment для работы. Один из фрагментов - страница настроек. Для этого я хочу использовать PreferenceFragment, однако я разработал свое приложение, используя android.support.v4.app.FragmentManager, который не совместим с PreferenceFragment. Ссылка ниже содержит описание и ссылку на код, который будет работать с v4.
https://github.com/codepath/android_guides/wiki/Settings-with-PreferenceFragment
https://github.com/kolavar/android-support-v4-preferencefragment
Моя основная деятельность
private class CustomAdapter extends FragmentPagerAdapter {
private String fragments [] = {"Event","Gallery","Match","Settings"};
public CustomAdapter(FragmentManager supportFragmentManager, Context applicationContext) {
super(supportFragmentManager);
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return new event();
case 1:
return new gallery();
case 2:
return new match();
case 3:
return new PreferenceFragment();
default:
return null;
}
}
ошибка: "PreferenceFragment" является абстрактным, не может быть создан.
PreferenceFragment
public abstract class PreferenceFragment extends Fragment implements
PreferenceManagerCompat.OnPreferenceTreeClickListener {
private static final String PREFERENCES_TAG = "android:preferences";
Мне сказали, что я не могу создать экземпляр PreferenceFragment напрямую, мне нужно создать класс, который его расширяет. Может кто-нибудь объяснить, как я поступил бы в этом случае? Бесконечно благодарен!:-)
1 ответ
Например:
public class MyPreferenceFragment extends PreferenceFragment
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.fragment_preference);
}
}
И связанный с ним XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory
android:title="FOO">
<CheckBoxPreference
android:key="checkBoxPref"
android:title="check it out"
android:summary="click this little box"/>
</PreferenceCategory>
</PreferenceScreen>
Источник: Как вы создаете Preference Activity и Preference Fragment на Android?