我开始将我的应用更改为Material design。
我已将我的活动更改为ActionBarActivity
,将我的主题更改为AppCompat,以便能够为ActionBar着色并使用AppCompat导航抽屉。
我在我的Activity中切换Fragments,它们被添加到backstack中,直到
getSupportFragmentManager()
.beginTransaction()
.replace(...)
.addToBackStack(null)
.commit();
由于AppCompat,我必须使用SupportFragmentManager。因此,我必须使用支持库中的android.support.v4.app.Fragment
。
问题:
我也在使用PreferenceFragment
,它不包含在支持库中。因此,我无法将该片段添加到backstack中。
错误:Type FragmentTransaction中的方法replace(int,Fragment,String)不适用于Arguments(int,SettingsFragment,String)
我现在使用的解决方案是library。我不想使用它,因为我的目标是API 14。
有没有办法将PreferenceFragment与SupportFragmentManager一起使用?
答案 0 :(得分:0)
不,支持FragmentManager
仅接受支持Fragment
,并且您无法使用android.app
包中的片段。
顺便说一句,我建议您改用this library。它的minSdkVersion
为7,但它最近有更新,我认为它比您当前使用的库更稳定。
答案 1 :(得分:0)
使用preference-compat-v7支持库中的PreferenceFragmentCompat
。这些对象可以由SupportFragmentManager
处理。