ActionBarSherlock类型mAdded无法解析或不是Watson.java字段

ActionBarSherlock类型mAdded无法解析或不是Watson.java字段,java,android,eclipse,actionbarsherlock,Java,Android,Eclipse,Actionbarsherlock,我花了一天时间寻找解决这个错误的方法 我下载并将库导入eclipse 我已经修复了所有错误,这是最后一个错误 我检查了所有布局,没有xml错误,清理了工作区并重新启动了eclipse 这是错误描述: 说明资源路径位置类型mAdded无法解析或 不是一个 field Watson.java/abs_library/src/android/support/v4/app line 59 java 问题 代码 if (mFragments.mAdded != null) {

我花了一天时间寻找解决这个错误的方法 我下载并将库导入eclipse 我已经修复了所有错误,这是最后一个错误 我检查了所有布局,没有xml错误,清理了工作区并重新启动了eclipse

这是错误描述:

说明资源路径位置类型mAdded无法解析或 不是一个 field Watson.java/abs_library/src/android/support/v4/app line 59 java 问题

代码

if (mFragments.mAdded != null) {
                for (int i = 0; i < mFragments.mAdded.size(); i++) {
                    Fragment f = mFragments.mAdded.get(i);
                    if (f != null && !f.mHidden && f.mHasMenu && f.mMenuVisible
                            && f instanceof OnCreateOptionsMenuListener) {
                        show = true;
                        ((OnCreateOptionsMenuListener) f).onCreateOptionsMenu(
                                menu, inflater);
                        if (newMenus == null) {
                            newMenus = new ArrayList<Fragment>();
                        }
                        newMenus.add(f);
                    }
                }
            }
if(mffragments.mAdded!=null){
对于(int i=0;i
谢谢

我找到了一个解决方案: 1#从这里下载SherlockActionBar来源: 2#如果您在项目中使用android-support-v4.jar(就像我一样)->从ZIP#1中替换它(您可以在'libs'文件夹中找到它) 这对我有帮助

注: 我的项目中有两个版本的android-support-v4.jar:

  • 从AndroidSDK(extras~>android~>v4)//处理错误
  • 来自SherlockActionBar//在这里工作正常

  • 如果您更新了android-support-v4.jar,只需替换这三行代码即可

    if (mFragments.mAdded != null) {
       for (int i = 0; i < mFragments.mAdded.size(); i++) {
          Fragment f = mFragments.mAdded.get(i);
    
    if(mffragments.mAdded!=null){
    对于(int i=0;i

    List actives=mffragments.getActiveFragments(null);
    如果(活动!=null){
    对于(int i=0;i


    一切都会好起来。

    ActionBarSherlock不推荐使用。Eclipse ADT插件不推荐使用。@JaredBurrows你是什么意思?你为什么要使用
    ActionBarSherlock
    ?现在是2015年,你应该使用AppCompat,就像Jake Wharton告诉你的那样:。谢谢你没有注意到我使用ActionBarSherlock,因为我有需要的遗留代码是的。我已经开始转换到AppCompat的过程,但在完成了几乎所有的转换后,我现在被卡住了。这就是为什么我需要一个“快速修复”来解决这个问题:在那之后,我可以继续转换工作。
    List<Fragment> actives =  mFragments.getActiveFragments(null);
    if (actives != null) {
       for (int i = 0; i < actives.size(); i++) {
           Fragment f = actives.get(i);