正确编译SlidingMenu library和example

1. SlidingMenu官方下载:https://github.com/jfeinstein10/SlidingMenu

下载下来后解包,里面有两个工程, library和 example

2.  首先导入library,编译,通过

3.  再导入example,编译,这时候报错:The method getSupportActionBar() is undefined for the type BaseActivity

参考官方的编译指导:

Setup with ActionBarSherlock

  • Setup as above.
  • Checkout a clean copy of ActionBarSherlock and import into your Eclipse workspace.
  • Add ActionBarSherlock as a dependency to SlidingMenu
  • Go into the SlidingActivities that you plan on using make them extend Sherlock___Activity instead of ___Activity.

我们看到报错的Activity继承自BaseActivity,BaseActivity又继承自SlidingFragmentActivity,SlidingFragmentActivity是在library中定义的,其又继承自FragmentActivity,根据上面官方指导,我们需要的make them extend Sherlock___Activity instead of ___Activity.,也就是将SlidingFragmentActivity(该类在library工程中)的父类FragmentActivity改为SherlockFragmentActivity

4. 下载官方ActionBarSherlock, 导入并编译通过

5. 将ActionBarSherlock库导入到SlidingMenuLibrry,同时将SlidingFragmentActivity(该类在library工程中)的父类FragmentActivity改为SherlockFragmentActivity,  编译通过:



注意:在导入ActionBarSherlock库后,可能导致SlidingMenuLibrary库编译不过,报如下错误:


错误的原因是ActionBarSherlock库后,可能导致SlidingMenuLibrary库分别引用了不同版本的android-support-v4.jar

解决方法:统一使用高版本的android-support-v4.jar

6. 再编译example,问题解决

注意ActionBarSherlock在library中导入,在example中就不需要导入了,把原来那个Library Reference ..\ABS  引用remove掉




后记:在你自己的apk中使用SlidingMenu库时,如果也遇到了类似The method getSupportActionBar() is undefined for the type BaseActivity 的报错,解决方法是一样的,如果你的工程中也引用了ActionBarSherlock,就要把它remove,应为SlidingMenuLiabrary也引用了这个库,只有引用一次就行了,否则会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值