- Java代码是中文,真机显示乱码
android-studio setting->editor->files encoding 设置为UTF-8, 重启Android studio
- Android ListView默认会显示选中的item为橙黄底色,有时候需要去掉这种效果,或者设置自定义的选中背景色
android:listSelector属性,可以设置你自定义的选中背景图。
例如android:listSelector="#00000000"
- HorizontalScrollView滑动时ACTION_UP偶尔执行
如果不是水平滑动,ACTION_MOVE之后不会执行ACTION_UP而是ACTION_CANCEL
- static变量在堆栈区,不会释放内存
要慎用,否则会导致内存泄漏
- res与res-auto的区别
通常我们在布局文件中使用自定义属性的时候会这样写:xmlns:app="http://schemas.android.com/apk/res/包路径"。
但如果当前工程是做为lib使用,那么你如上所写 ,会出现找不到自定义属性的错误 。
这时候你就可以写成: xmlns:app="http://schemas.android.com/apk/res-auto"
- startActivityForResult返回resultCode为cancel
目标Activity在AndroidManifest.xml中android:launchMode不能为singleInstance,singleTask, 可用默认的standard。
- <':app:processDebugResources'.>com.android.ide.common.process.ProcessException:org.gradle.process.internal.Exception: Process 'command 'Android\sdk\build-tools\23.0.0_rc2\aapt.exe'' finished with non-zero exit value 1
Error:Execution failed for task ':app:compileDebugAidl'.> Executor Singleton not started
Can't resolve symbol AppCompatActivity
BuildTools Version, SDK Version,Plug in Version, Java Version和Gradle Version不兼容导致
项目->右键->Open Module Settings设置一致的合适的版本
Rebuild Project
必要时,File->Invalidate Cashes/Restart重启一下Android Studio
- 自定义Listview的时候,会出现下面选中一个空间黑色底色的情况,破坏整体美观度
android:cacheColorHint=“#00000000”就可以解决该问题
- FragmentTransaction.commit()报错会报错IllegalStateException:Can not perform this action after onSaveInstanceState
如果在Activity的onSaveInstanceState()之后调用commit()方法,则会报该错,换成FragmentTransaction.commitAllowingStateLoss().
- release版本运行时抛出找不到jar包的类的异常
jar包或SDK的包没有在proguard-rules.pro中进行混淆处理
- 本地文件保存需要考虑版本升级的兼容问题
如果本地数据保存用到序列化,反序列化时会根据类名,方法名和变量生成唯一的,一一映射的serialVersionUID,如果类名,方法名和变量有变动,而serialVersionUID不一致的化,会出现反序列化异常。
- 在proguard.cfg文件中进行混淆处理
补间动画移动/缩放/改变透明度后的View的点击事件无效
补间动画处理后的View不是原来的View本身,要用属性动画,属性动画处理后的View还是其本身
- TextView在xml中定义相应函数,运行时没响应
在xml中android:onClick="onClick",需要加上android:clickable="true"