我正面临同样的问题。这里是我的解决方案:
克隆ActionBarSherlock
没有类型Landroid /支持/ V4 /应用/ FragmentManagerImpl的实例字段mFragments;
// android.support.v4.app.FragmentActivity
// com.android.support:support-v4:22.+
final FragmentManagerImpl mFragments = new FragmentManagerImpl();
// com.android.support:support-v4:23.+
final FragmentController mFragments = FragmentController.createController(new HostCallbacks());
// android.support.v4.app.FragmentManager.FragmentManagerImpl
ArrayList<Fragment> mAdded;
因此,我们需要得到的FragmentManagerImpl实例访问mAdded场
// android.support.v4.app.FragmentActivity
public FragmentManager getSupportFragmentManager() {
return mFragments.getSupportFragmentManager();
}
// android.support.v4.app.FragmentController
public FragmentManager getSupportFragmentManager() {
return mHost.getFragmentManagerImpl();
}
添加以下方法给android.support.v4.app.Watson类
@Nullable
private List<Fragment> getAddedFragments() {
return ((FragmentManagerImpl) getSupportFragmentManager()).mAdded;
}
将以下代码添加到onCreatePanelM ENU,onPreparePanel和onMenuItemSelected方法和替换mFragments.mAdded与片段
List<Fragment> fragments = getAddedFragments();
FloatMath
历史上,这些方法是比等效基于双 更快{java.lang.Math}方法。在带有JIT的Android版本中,它们变得更慢,并且自此重新实现以将调用打包为 {java.lang.Math}。应该在 偏好中使用{java.lang.Math}。
所有方法从公众API的版本中删除23
@deprecated使用{} java.lang.Math中代替。
在com.actionbarsherlock.internal.nineoldandroids.view.animation更换所有的FloatMath出现与数学。AnimatorProxy
由于ABS在2014年12月被弃用,它只会变得越来越糟。 – ianhanniballake
'请不要建议我使用AppCompatActivity'。今天没有AppCompat构建一个Android项目是非常疯狂和不可能的, –