注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

姑射道人的博客

博客新地址:nixuchen.com

 
 
 

日志

 
 

The method getSupportActionBar() is undefined for the type  

2014-06-19 23:07:54|  分类: android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在Csdn上,看到介绍的开源项目http://www.csdn.net/article/2013-05-03/2815127-Android-open-source-projects,中的第三个项目:SlidingMenu,很多App都加了这种菜单形式,所以也想研究一下。

        其项目Git地址:https://github.com/jfeinstein10/slidingmenu

           把项目同步到本地以后,使用Eclipse导入,发现会出错,打开项目的Properties选项:


发现其所依赖的ABS库出错,ABS究竟是什么呢?

        原来项目中还依赖Actionbarsherlock这个库,可以在http://actionbarsherlock.com/download.html获取,导入到eclipse里,我命名比较懒,直接命名为library2,

导入library2之前:

导入后出现以下情况:


      错误变成了缺少android-support-v4包支持。

      后来发现是因为,library类库中和Actionbarsherlock库中都依赖android-support-v4库,可能是因为版本不一,引发冲突,把Actionbarsherlock源码中libs中android-support-v4删除,然后拷贝library中的android-support-v4到Actionbarsherlock中即可。

      这个时候发现,可能还有以下错误:

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

    修改方法为:打开SlidingMenu library project里SlidingFragmentActivity这个类并在声明前添加以下代码:

  1. import com.actionbarsherlock.app.SherlockFragmentActivity;   

    

然后,将下面FragmentActivity父类:

  1. public class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase {    

替换为:Actionbarsherlock库里的另外一个父类:

  1. public class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase {    

这里SlidingMenu library需要依赖Actionbarsherlock,加上即可,如果还有错误,clean下。


PS:

     有可能遇到以下错误:

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

     修改方法: manifest里面的min sdk version 改为你当前用到的sdk版本7以上。


  评论这张
 
阅读(2626)| 评论(2)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017