SlidingMenu源代码导入及错误分析和解决方法
1.首先下载actionbarsherlock和SlidingMenu源代码
由于在SlidingMenu项目中,styles.xml文件使用到了actionbarsherlock里面的主题定义,所以在使用的时候需要先导入actionbarsherlock
两个项目的源代码地址为:
https://github.com/jfeinstein10/SlidingMenu
2.导入源代码
运行SlidingMneu需要使用到actionbarsherlock和SlidingMenu两个lib,所以在使用项目之前,需要先将那两个lib导入,需要注意的是,因为两个lib都使用到同一个依赖包:android-support-v4.jar,所以得保证两个lib里面的该包使用的同一个版本。(个人使用经验,从网上下载的两个lib里面的该包版本不一样,直接将SlidingMneu里面的包复制到actionbarsherlock里面)
a.首先导入actionbarsherlock
下载好源代码之后,在Eclipse里面导入已经存在的Android项目,选择ActionBarSherlock-4.4.0下面的actionbarsherlock这个目录,导入的时候会出现SDk版本问题,Eclipse会直接进行修复直接,或者直接使用Android--Tools--Fix Project property.
b.导入SlidingMenu_lib
在github上面下载好代码之后解压,在Eclipse里面File--New--Other--Android Project from existing code,导入jfeinstein10-SlidingMenu-7ebe327里面的library,最好把项目重命名一下,因为library很可能会和其它包在名字上面冲突。
因为SlidingMenu里面使用到actionbarsherlock,在SlidingMenu_lib代码的com.jeremyfeinstein.slidingmenu.lib.app包下面修改以下3个文件,将Android系统自带的如FragmentActivity替换成SherlockFragmentActivity,继承actionbarsherlock里面的定义的文件。
SlidingFragmentActivity.java //FragmentActivity替换成SherlockFragmentActivity
SlidingListActivity.java、 //ListActivity替换成SherlockListActivity
SlidingPreferenceActivity.java //PreferenceActivity替换成SherlockPreferenceActivity
修改之后,选择项目,右键Properties--Android---Is Library,将actionbarsherlock作为依赖包导入SlidingMenu_lib
c.导入SlidingMenu示例代码
导入jfeinstein10-SlidingMenu-7ebe327目录下面的example目录,使用b步骤里面的方法,导入两个actionbarsherlock和SlidingMenu两个依赖lib,程序中的错误都解决,可以直接运行。
操作过程遇到的问题:
1.直接导入jfeinstein10-SlidingMenu-7ebe327目录下面的example实例,出现如下错误:
解决方法:按上面的步骤依次进行导入
2.导入两个lib之后出现的问题:
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
问题原因:是两个jar包版本不一致
解决方法:问题原因是两个jar包版本不一致,直接使用较新的android-support-v4.jar版本替换旧版本
3.没有修改SlidingMenu_lib里面的文件
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
问题原因:函数没有定义,需要继承于actionbarsherlock里面的类
解决方法:在SlidingMenu_lib代码的com.jeremyfeinstein.slidingmenu.lib.app包下面修改以下3个文件,修改为类似于下面的
4.case expressions must be constant expressions 错误
问题原因:是ADT14后Android库工程中R.class中的资源常量不在为final类型,原因见http://tools.android.com/tips/non-constant-fields 官方解释
解决方法:方法是将switch 转化成if-else语句,这在eclipse中非常容易实现,将光标置于switch关键字上,按ctrl+1,进行装换
SlidingMenu源代码导入及错误分析和解决方法的更多相关文章
- MySQL常见错误分析与解决方法总结
MySQL常见错误分析与解决方法总结 一.Can't connect to MySQL server on 'localhost' (10061)翻译:不能连接到 localhost 上的mysql分 ...
- 可遇不可求的Question之导入mysql中文乱码解决方法篇
可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?
- phpmyadmin数据导入最大限制的解决方法
mysql导入文件最大限制更改解决方法:phpmyadmin库导入出错:You probably tried to upload too large file. Please refer to doc ...
- windows server,nginx安装,配置,运行nodeJS后端的web项目的实现,以及错误分析及解决方法
一.安装nginx 下载windows版nginx (http://nginx.org/download/nginx-1.12.2.zip),之后解压到需要放置的位置(C:\nginx) 二.将Ngi ...
- 转MySQL常见错误分析与解决方法总结
一.Can't connect to MySQL server on 'localhost' (10061)翻译:不能连接到 localhost 上的mysql分析:这说明“localhost”计算机 ...
- eclipse导入项目报错解决方法
1.导入项目之前,请确认工作空间编码已设置为utf-8:window->Preferences->General->Wrokspace->Text file encoding- ...
- eclipse一直卡住,出现 “android sdk content loader 0%” 卡住的错误分析及解决方法
分析:这种问题之前没有遇到过,也不知道什么原因,直接去网上查询,打开www.stackoverflow.com,输入要查询问题的关键词,我们输入 “android sdk content loader ...
- R6010 -abort() has been called错误分析及其解决方法
近期使用vs2010编程出现下面问题.在网上收集了大家的意见之后,整理了一下 导致出现这种原因有: 1.非法指针訪问和内存泄漏 2.大家再查查吧.一定是指针出现故障了.设置的指针范围跟你执行的不正确 ...
- mysql数据库数据(字段数过大)太多导入不了的解决方法
mysql数据库数据(字段数过大)太多导入不了的决方法: 1.打开navicat 工具 2.在数据库上右键,执行右键菜单命令“命令列界面” 3.在打开的窗口中,运行set global max_all ...
随机推荐
- Socket 学习(三)
前2节,说的是 Server 与 Client 的数据交互.服务端IP.端口固定,客户端 网服务端发送消息的时候,他的Socket对面被服务端获取到了,而且链接没有中断,他当然可以很容易回复信息. 现 ...
- CRUD功能的JqGrid表格
CRUD功能的JqGrid表格 之前的项目也曾用过JgGrid对它的基本功能也是略有了解,网上有个国外的开源的项目,但是不适合个人的风格,所以花了3天空余的时间封装了下JqGrid,也算是参加开发工作 ...
- XAMPP on Mac 组态 Virual Host
首先,在hosts文件中添加virtual host域名.方向127.0.0.1 我一般使用的命名约定dev-domainname.com sudo nano /private/etc/hosts # ...
- CSS3可按进度变色的进度条
原文:CSS3可按进度变色的进度条 今天是周末,看到一款利用CSS3实现的进度条应用,觉得非常棒,就将它分享给大家,并且将这款CSS3进度条的实现过程大致整理了一下,实现的关键是根据当前的进度需要能改 ...
- vsphere client 虚拟机安装操系统
vSphere 是 VMware 推出的基于云计算的新一代数据中心虚拟化套件,提供了虚拟化基础架构.高可用性.集中管理.监控等一整套解决方案. VMware ESXi 是VMware vSphere ...
- Ubuntu12.04环境搭建遇到的问题和建议(一个)
后的新公司需要在Ubuntu12.04在结构Android开发环境,在这个过程中,我们还是会遇到很多问题,这里记录.为了方便自己的未来,有人谁需要参考.从网络! 1. Q:在终端: sudo apt- ...
- 整理 W3CSchool 常用的CSS属性列表
近期教学给学员总结常用的CSS属性,方便学习查询,正好发上来也给大家分享一下,O(∩_∩)O. 摘选自:http://www.w3cschool.com.cn/ 表格最右列的数字标识支持的CSS最低版 ...
- ASP.NET MVC项目
ASP.NET MVC项目里创建一个aspx视图 先从控制器里添加视图 视图引擎选"ASPX(C#)",使用布局或模板页不要选. 在Views\EAV目录里,生成的aspx是个单独 ...
- PHP类
类就是很多方法的集合这些方法是你在程序中经常会用到的一些逻辑或算法将他们包进类里面,可以提升程序的效率,减少代码的重复 比如你有一个类文件 web_common.class.php ,里面有一个类,名 ...
- wp7学习笔记
1.xap:最终是压缩包:最终部署有系统控制,防止流亡软件:放到固有位置productid;有的文件放在.dll中或直接放入目录下:控制有生成操作:content,内容,content效率更高不用从. ...