zoukankan      html  css  js  c++  java
  • GitHub上最火的开源项目SlidingMenu导入出错的终极解决方案

    SlidingMenu 开源项目下载地址 : https://github.com/jfeinstein10/slidingmenu

    Actionbarsherlock 开源项目下载地址 :http://actionbarsherlock.com/download.html 

    导入步骤如下:

    1.将下载的Actionbarsherlock中/actionbarsherlock文件夹复制到workspace(你的项目工作空间),改名为Actionbarssherlock,从eclipse中操作new->project->Android Project from Existing Code将项目添加进去,target改为api14以上。

    2.将下载的slidingmenu中/library文件夹复制到workspace(你的项目工作空间),改名SlidingMenu, 从eclipse中操作new->project->Android Project from Existing Code将项目添加进去,target改为Google APIs 14以上。 或者打开project.properties:target=Google Inc.:Google APIs:14或更高。

    3.这样SlidingMenu就可以用在自己项目中了。让我们来运行例子。解压slidingmenu中/example。 从eclipse中操作new->project->Android Project from Existing Code将项目添加进去,target改为api14以上。 运行看看效果。2.1以上的系统都可以运行。

    导入之后可能会出现的问题如下: 

    1、 SlidingMenu library project出现错误

    • Console error:  Unable to resolve target ‘Google Inc.:Google APIs:16.

      Fix:   进入 Properties检查Target sdk是否选择了 Google APIs.

    • List of errors:  ACTION_POINTER_INDEX_MASK cannot be resolved android. 
      HONEYCOMB cannot be resolved or is not a field 
      LAYER_TYPE_HARDWARE cannot be resolved or is not a field 
      LAYER_TYPE_NONE cannot be resolved or is not a field 
      MATCH_PARENT cannot be resolved or is not a field 
      The method getLayerType() is undefined for the type View 
      The method setLayerType(int, null) is undefined for the type View

      Fix:  将manifest里面的min sdk version 改为你当前用到的sdk版本,7

    2、SlidingMenu  example project出现错误

      • Console error:  Found 2 versions of android-support-v4.jar in the dependency list,but not all the versions are identical (check is based on SHA-1 only at this time). Jar mismatch! Fix your dependencies

        Fix:  这是由于jar包版本不一致导致的,检查SlidingMenu和Actionbarsherlock中的libs文件夹里的哪个android-support-v4.jar版本比较新,用新的替换掉其中的老版本. 如果错误还是会出现,就clean项目并重启eclipse.

      • List of errors:  The method getSupportActionBar() is undefined for the type BaseActivity 
        The method getSupportMenuInflater() is undefined for the type BaseActivity 
        The method onCreateOptionsMenu(Menu) of type BaseActivity must override or implement a supertype method 
        The method onOptionsItemSelected(MenuItem) in the type Activity is not applicable for the arguments 
        The method onOptionsItemSelected(MenuItem) of type BaseActivity must override or implement a supertype method 
        The method onOptionsItemSelected(MenuItem) of type ResponsiveUIActivity must override or implement a supertype method

        Fix: 打开SlidingMenu library project里SlidingFragmentActivity这个类并在声明前添加以下代码:

      • import com.actionbarsherlock.app.SherlockFragmentActivity;

        然后,将下面这个父类:

      • public class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase {

        换成Actionbarsherlock里的另外一个父类(如果此时Library没有引用Actionbarsherlock库项目,则先引用之) :

      • public class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase {

        附上运行效果图之一:

  • 相关阅读:
    Luogu 4841 城市规划
    Luogu 4721 【模板】分治 FFT
    Luogu 4091 [HEOI2016/TJOI2016]求和
    Luogu 3723 [AH2017/HNOI2017]礼物
    FFT笔记
    Luogu 4900 食堂
    Luogu 4155 [SCOI2015]国旗计划
    Luogu 4069 [SDOI2016]游戏
    Luogu 4254 [JSOI2008]Blue Mary开公司
    Luogu 4251 [SCOI2015]小凸玩矩阵
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/5642313.html
Copyright © 2011-2022 走看看