2016-02-18 40 views
2

我正在开发一个应用程序与actionbarsherlock和ABS项目正在使用android-support-v4库(版本18)。现在我想延长我的项目,以支持Android 6.0,为了使用一些方法,如使用actionbarsherlock与android-support-v4(版本23)

ContextCompat.checkSelfPermission(thisActivity, Manifest.permission.WRITE_CALENDAR) 

ActivityCompat.shouldShowRequestPermissionRationale(thisActivity, Manifest.permission.READ_CONTACTS) 

我需要支持库版本23.但ABS项目不兼容这个最新的库,并给出像mAdded错误不能得到解决或无法在现场在Watson.java

而且,请不要给我建议,而不是使用ABS AppCompatActivity因为我尝试过,但陷入生活由于我的项目相当大,所以还有其他一些混乱的网络。

+3

由于ABS在2014年12月被弃用,它只会变得越来越糟。 – ianhanniballake

+1

'请不要建议我使用AppCompatActivity'。今天没有AppCompat构建一个Android项目是非常疯狂和不可能的, –

回答

6

我正面临同样的问题。这里是我的解决方案:

克隆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 ENUonPreparePanelonMenuItemSelected方法和替换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

相关问题