У меня есть PreferenceFragment
, и он может быть показан внутри Activity
. Однако, когда я переключаю Activity
на ActionBarActivity
, фрагмент не отображается. (Я вижу только панель действий и пустой белый экран ниже.) Тема, которую я использую, - Theme.AppCompat.Light
, поэтому мне нужно использовать ActionBarActivity
, чтобы отобразить ActionBar
.ПредпочтениеФрагмент не показан при использовании ActionBarActivity
Вот мой исходный код:
public class SettingsActivity extends Activity { // later changed to extend ActionBarActivity
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Display the fragment as the main content
getFragmentManager().beginTransaction().
replace(android.R.id.content, new SettingsFragment()).commit();
}
}
Обратная совместимость не является моей главной задачей (мой «minSdkVersion» равен 16). Я использую «ActionBarActivity», потому что так я могу показать «ActionBar» с новой материальной темой. Можете ли вы предложить, что я могу сделать? И почему это вызывает проблемы, когда 'PreferenceFragment' и хостинг' ActionBarActivity' находятся в разных библиотеках? – Jonas
В Android 5.0 Lollipop вы должны использовать виджет «ToolBar» для замены ActionBar. И используйте 'getSupportFragmentManager()', заменяющий 'getFragmentManager()'. – Xcihnegn