Как мне вызвать конкретный фрагмент PreferenceFragment из PreferenceActivity?

У меня есть PreferenceActivity с несколькими фрагментами:

R.xml.preferences: (сокращено для лучшей читаемости):

<?xml version="1.0" encoding="utf-8"?>
<preference-headers xmlns:android="http://schemas.android.com/apk/res/android">
    <header android:fragment="fragments.Fragment1" android:id="@+id/fragment1" [...] />
    <header android:fragment="fragments.Fragment2" android:id="@+id/fragment2" [...] />
    [...]
</preference-headers>

SettingsActivity:

public class SettingsActivity extends PreferenceActivity {
    @Override
    public void onBuildHeaders(List<Header> target) {
        loadHeadersFromResource(R.xml.preferences, target);
    }
}

Это покажет запись списка сfragments.Fragment1, fragments.Fragment2, ... еслиSettingsActivity запущен

Но теперь я хочу передать Bundle таким образом, чтобы при запуске действия открывался определенный PreferenceFragment:

поэтому я добавил это кSettingsActivity:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (savedInstanceState != null && savedInstanceState.getBoolean("shortcut")) {
        // directly jump to fragments.Fragment1
    }
}

Я пытался загрузить фрагмент черезgetFragmentManager().findFragmentById(R.id.fragment1), но это возвращаетnull, Но даже если бы у меня был правильный экземпляр, я бы не знал, как его вызвать. Также звонюloadHeadersFromResource(R.xml.preferences_fragment1, target); не работает - это вызовет исключение RuntimeExceptionXML-документ должен начинаться с тега; foundPreferenceScreen в двоичном XML-файле"У меня нет идей, а также поиск по SO и Google не дал никаких релевантных результатов.

Итак, мой вопрос: возможно ли напрямую загрузить PreferenceFragment (например, fragments.Fragment1) из метода onCreate Activitiy? Если да, то как?

Ответы на вопрос(2)

Ваш ответ на вопрос