Ho nella mia app Android un SettingsActivity. In origine non c'era ActionBar, così ho implemted questo:Android nested PreferenceScreen con ActionBar
settings_toolbar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
app:navigationContentDescription="@string/abc_action_bar_up_description"
android:background="?attr/colorPrimary"
app:navigationIcon="?attr/homeAsUpIndicator"
app:title="@string/action_settings"
/>
SettingsActivity.java
public class SettingsActivity extends PreferenceActivity {
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
LinearLayout root = (LinearLayout)findViewById(android.R.id.list).getParent().getParent().getParent();
Toolbar bar = (Toolbar) LayoutInflater.from(this).inflate(R.layout.settings_toolbar, root, false);
root.addView(bar, 0); // insert at top
bar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
}
E le grandi opere, ma solo per il primo PREFERENCE. Se ho un PreferenceScreen annidato, non ci sono ActionBar. Come posso ottenere questo, per avere sul PreferenceScreen annidato un ActionBar con pulsante indietro anche tu?
Dovrebbe essere compatibile con API15 + e AppCombat
Original post: How to add Action Bar from support library into PreferenceActivity?
Avete già trovato una soluzione? –
No. Ho creato i miei frammenti con alcuni ListView e CheckBox, senza PreferenceScreen. Funziona alla grande e sembra il PreferencesScreen ... avrei dovuto farlo molto prima che provassi a far funzionare il PreferenceScreen – Tobi
http://stackoverflow.com/a/27455363/2247612 Questa risposta ha una soluzione perfetta per il supporto Biblioteca – harishannam