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

时间:2015-10-09 21:35:52

标签: java android eclipse actionbarsherlock

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

这是错误描述:

  

描述资源路径位置类型mAdded无法解析或   不是一个   字段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);
                    }
                }
            }

谢谢

2 个答案:

答案 0 :(得分:2)

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

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

使用

List<Fragment> actives =  mFragments.getActiveFragments(null);
if (actives != null) {
   for (int i = 0; i < actives.size(); i++) {
       Fragment f = actives.get(i);

...

一切都会好的。

答案 1 :(得分:0)

我找到了一个解决方案: 1#从这里下载SherlockActionBar来源: https://github.com/JakeWharton/ActionBarSherlock/releases 2#如果您在项目中使用android-support-v4.jar(就像我一样) - &gt;将其替换为ZIP#1(您可以在'libs'文件夹中找到它) 它帮助了我。

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

  1. 来自AndroidSDK(extras~&gt; android~&gt; v4)// 使用错误
  2. 来自SherlockActionBar的
  3. // 在这里工作正常