【问题标题】:Missing values in R.java using Jeremy Feinstein slidebar and Action Bar Sherlock使用 Jeremy Feinstein 滑动条和动作条 Sherlock 在 R.java 中缺失值
【发布时间】:2014-06-20 06:52:14
【问题描述】:

大家好,我刚刚开始使用 Eclipse IDE 进行 Android 开发。

我正在尝试制作侧面的滑动菜单和顶部的操作栏,类似于一些流行的应用程序,例如 4Square、9GAG、Facebook 等。

我希望将 Jeremy Feinstein 滑动菜单与 Action Bar Sherlock 库一起使用。我从https://github.com/jfeinstein10/SlidingMenuhttp://actionbarsherlock.com/download.html下载的

我目前正在学习如何使用这些库,并尝试运行 GitHub 的 zip 文件中提供的示例。我花了几天时间才正确导入库,现在示例没有问题。

但是当我尝试将库导入我自己的项目时,似乎该项目引用了一个不正确的 R.java 文件。这是代码:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setTitle(mTitleRes);

    // set the Behind View
    setBehindContentView(R.layout.menu_frame);
    if (savedInstanceState == null) {
        FragmentTransaction t = this.getSupportFragmentManager().beginTransaction();
        mFrag = new MenuListFragment();
        t.replace(R.id.menu_frame, mFrag);
        t.commit();
    } else {
        mFrag = (ListFragment)this.getSupportFragmentManager().findFragmentById(R.id.menu_frame);
    }

    // customize the SlidingMenu
    SlidingMenu sm = getSlidingMenu();

    // these 3 lines containing errors:
    sm.setShadowWidthRes(R.dimen.shadow_width);
    sm.setShadowDrawable(R.drawable.shadow);
    sm.setBehindOffsetRes(R.dimen.slidingmenu_offset);

    sm.setFadeDegree(0.35f);
    sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);

    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

上面3行出现如下错误

shadow_width cannot be resolved or is not a field

另外,对于这些行,

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getSupportMenuInflater().inflate(R.menu.main, menu);
    return true;
}

错误是

main cannot be resolved or is not a field

================================================ ====================================

至于这两个库的导入方式,这些是我做的步骤,是我从网上不同的来源和问题收集的:

  1. 导入滑动菜单库

    File -> Import -> Android -> Existing Android Code Into Workspace
    Browse -> SlidingMenu-master -> library -> Finish
    
  2. 导入动作条sherlock库

    File -> Import -> Android -> Existing Android Code Into Workspace
    Browse -> JakeWharton-ActionBarSherlock-5a15d92 -> actionbarsherlock -> Finish
    
  3. 设置操作栏 Sherlock 属性

    Project -> Properties -> Android -> Project Build Target -> Android 4.0.3
    
  4. 设置滑动菜单属性

    Project -> Properties -> Android -> Project Build Target -> Android 4.0.3
    Project -> Properties -> Android -> Library -> Add -> Add actionbarsherlock
    Project -> Properties -> Project References -> check actionbarsherlock
    
  5. 设置我的项目属性

    Project -> Properties -> Android -> Project Build Target -> Android 4.0.3
    Project -> Properties -> Android -> Library -> Add -> Add both libraries
    Project -> Properties -> Project References -> check both libraries
    
  6. library -> com.jeremyfeinstein.slidingmenu.lib.app -> SlidingActivity.java
    and SlidingFragmentActivity.java
    

    改变

    extends SlidingActivity and SlidingFragmentActivity
    

    进入

    extends SherlockActivity and SherlockFragmentActivity
    
  7. 删除

    android-support-v4.jar
    

    来自我自己的项目和 actionbarsherlock,对于他们两个,转到

    Project -> Properties -> Java Build Path -> Libraries -> Add JARs
    -> library (the slider menu library) -> libs -> android-support-v4.jar
    
  8. 清理项目并重新启动 Eclipse

我知道我可能只是犯了一个非常简单的愚蠢错误,但感谢任何帮助!谢谢!!

【问题讨论】:

    标签: android android-actionbar actionbarsherlock slidingmenu r.java-file


    【解决方案1】:

    当您尝试将示例的 java 文件移动到您自己的项目中时,您可能会遗漏一些其他 xml 文件。它们位于 res 文件夹中

    解决问题的方法是要么自己创建xml文件,要么将例子的xml文件复制到res文件夹中,分别是:

    dimen.xml
    drawable/shadow.xml
    menu/main.xml
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多