最近在一个项目中,需要在ListView的item中加入CheckBox,但是遇到的一个问题是上下滑动的时候如果有选择了的CheckBox,就会出现选择项错误的问题,下面将个人的解决方法总结如下;
先说思路:
在ListView的Adapter中,用一个Map保存每一项item的选择状态,在getView方法中,设置Map中保存的某一项的选择状态就实现了状态的保存;
android中使用net.sf.json
android中自带的json使用起来不是很方便,想使用net.sf.json,结果运行的时候又发现有异常:java.lang.VerifyError: net/sf/json/JSONObject
经过各种搜索,发现原来是我们使用的json-lib-2.4-jdk15.jar包要引用其他的几个jar包,这就表示想使用net.sf.json还不能只是简单的加一个jar包
如何解决dialog弹出时无法捕捉Activity的back事件
在一些情况下,我们需要捕捉back键事件,然后在捕捉到的事件里写入我们需要进行的处理,通常可以采用下面三种办法捕捉到back事件:
1)重写onKeyDown或者onKeyUp方法
2)重写onBackPressed方法
3)重写dispatchKeyEvent方法
这三种办法有什么区别在这里不进行阐述,有兴趣的朋友可以查阅相关资料。
Gson简要使用笔记
最近在做一个java web service项目,需要用到json,本人对java不是特别精通,于是开始搜索一些java平台的json类库。
发现了google的gson,因为之前对于protocolbuf有一些了解,带着一些好奇心,我开始使用了gson。
经过比较,gson和其他现有java json类库最大的不同是gson需要序列化的实体类,不需要使用annotation来标识需要序列化的字段,同时gson又可以通过使用annotation来灵活配置需要序列化的字段。
Android 项目利用 Android Studio 和 Gradle 打包多版本APK
在项目开发过程中,经常会有需要打包不同版本的 APK 的需求。 比如 debug版,release版,dev版等等。 有时候不同的版本中使用到的不同的服务端api域名也不相同。 比如 debug_api.com,release_api.com,dev_api.com等等。
不同的版本对应了不同的 api 域名,还可能对应不同的 icon 等。
如果每次都在打包前修改我们都手动来修改,这样实在是不够方便。
但如果我们使用了 Android Studio 和 Gradle,这个麻烦就可以轻松省去。