AppCompat v7:我应该使用 Framework FragmentManager 还是 SupportFragmentManager?
AppCompat v7: Should I use Framework FragmentManager or SupportFragmentManager?
我正在制作一个应具有 minSdk = 15 和 targetSdk = 21 的应用程序,因此我想使用 appcompat-v7 库提供的功能。
我一直在想,在使用supportlibrary-v7的时候是应该用getFragmentManager还是getSupportFragmentManager。
我现在遇到了一个小问题:当使用 getFragmentManager(因此使用框架片段和片段事务)时,我无法通过简单地按下后退按钮来弹出后退堆栈 - 我必须手动执行 backStackCount > 0 检查popBackStack,不然我的activity简直完蛋了。当我将我的小应用程序切换为使用 v4 类(getSupportFragmentManager 等)时,这个问题就解决了。我想这很好,但我想有一个 guideline/bestpractice 来知道该走哪条路以及为什么
所以,我的 Activity 是从 ActionBarActivity 继承的(根据 AppCompat-Blog-Entry),我正在使用新的工具栏,我应该只使用 v4-Fragments(-Manager, -交易)?
我还没有找到任何最佳实践或指南。我不确定在这两者之间做出决定时要考虑什么:-/
如果您从 ActionBarActivity
继承活动,则应始终使用 getSupportFragmentManager()
。如果 phone 支持它(运行 Honeycomb 或更高版本),它会自动将您的呼叫转发给 getFragmentManager()
,否则它会使用其兼容性实现。
我正在制作一个应具有 minSdk = 15 和 targetSdk = 21 的应用程序,因此我想使用 appcompat-v7 库提供的功能。
我一直在想,在使用supportlibrary-v7的时候是应该用getFragmentManager还是getSupportFragmentManager。
我现在遇到了一个小问题:当使用 getFragmentManager(因此使用框架片段和片段事务)时,我无法通过简单地按下后退按钮来弹出后退堆栈 - 我必须手动执行 backStackCount > 0 检查popBackStack,不然我的activity简直完蛋了。当我将我的小应用程序切换为使用 v4 类(getSupportFragmentManager 等)时,这个问题就解决了。我想这很好,但我想有一个 guideline/bestpractice 来知道该走哪条路以及为什么
所以,我的 Activity 是从 ActionBarActivity 继承的(根据 AppCompat-Blog-Entry),我正在使用新的工具栏,我应该只使用 v4-Fragments(-Manager, -交易)?
我还没有找到任何最佳实践或指南。我不确定在这两者之间做出决定时要考虑什么:-/
如果您从 ActionBarActivity
继承活动,则应始终使用 getSupportFragmentManager()
。如果 phone 支持它(运行 Honeycomb 或更高版本),它会自动将您的呼叫转发给 getFragmentManager()
,否则它会使用其兼容性实现。