2016-04-04 2 views
1

Я искал в Интернете решение моей проблемы и не могу найти ничего, что сработает. Я внедрил следующее в свое приложение, и оно действительно работает. Тем не менее, я хотел бы добавить панель инструментов вверху с помощью стрелки влево, чтобы пользователь мог вернуться. может кто-нибудь помочь мне с этим.Панель инструментов в настройках активности/фрагмента

public class ActivitySettings extends PreferenceActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      getFragmentManager().beginTransaction().replace(android.R.id.content, new MyPreferenceFragment()).commit(); 
    } 

    public static class MyPreferenceFragment extends PreferenceFragment { 

      @Override 
      public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      addPreferencesFromResource(R.xml.preferences); 
      } 
    } 
} 

Спасибо за любую помощь.

ответ

0

PreferenceActivity не распространяется на AppCompatActivity.

В растворе можно использовать PreferenceFragmentCompat с любым Activity или AppCompatActivity

В этом случае вы должны установить preferenceTheme в вашей теме:

<style name="AppTheme" parent="@style/Theme.AppCompat.Light"> 
    ... 
    <item name="preferenceTheme">@style/PreferenceThemeOverlay</item> 
</style> 

Таким образом, вы можете настроить preferenceTheme стилизировать макеты, используемые для каждого предпочтения.

Кроме того, с помощью нового приложения 22.1+ appcompat вы можете использовать AppCompatDelegate для расширения поддержки AppCompat для любой деятельности.

Вы можете ознакомиться с официальной ссылкой на AppCompatPreferenceActivity, где вы можете найти пример этой техники.

0

Это точное использование случай Preferences Support Library - это позволяет не использования PreferenceActivity и вместо того, чтобы использовать PreferenceFragmentCompat. Это позволяет использовать AppCompatActivity и встроенную в него поддержку Toolbar.

Смежные вопросы