空指针错误
用findViewById获取布局文件里的控件时
需要获取布局文件加载给的那个对象的子方法finadViewId
否则会报空指针错误,即获取不到控件
系统返回键处理
- 点击home键时,系统默认只执行应用程序的当前显示的Activity的onStop()方法后跳出界面;
- 点击back键时,系统默认执行应用程序当前的Activity的finish()方法后跳出界面;
点击menu键时,系统默认不进行任何处理
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ Intent intent = new Intent(this,SettingActivity.class); startActivity(intent); } return super.onKeyDown(keyCode, event); }
系统WindowManager
帧动画
写在drawable目录下的一个xml文件
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" > <item android:drawable="@drawable/desktop_rocket_launch_1" android:duration="200"/> <item android:drawable="@drawable/desktop_rocket_launch_2" android:duration="200"/> </animation-list>
darawable ———— 每一帧的动画资源
- duration ———— 每一帧持续的时间
设置Activity为透明的:android:theme=”@android:style/Theme.Translucent.NoTitleBar”
RodionButton 去掉左边默认的小圆点选项卡:
添加代码: android:button = “@null”
fragment使用时的一些配置错误
用到了fragment,结果在需要返回Fragment的方法里面,无法将Fragment1(Fragment的子类)强制转换成Fragment,
很是纳闷,我是参照一个开源代码来做的,源码里面很正常,我这里却报错,
后来才发现,是对包的导入出现了差错,在Fragment1中导入的是android.app.Fragment
而在出错的那个类里面是用android.support.v4.app.Fragment,包不同当然无法转换
后来统一导入为android.support.v4.app.Fragment之后就正常了.
ImageButton 载入图片问题
在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法
一种方法是将ImageButton的背景改为所需要的图片。如:android:background=”@drawable/XXX”
第二种方法就是将ImageButton背景改为透明,这个方法更常用
在XML里;
父布局焦点问题
android:descendantFocusability=”blocksDescendants”。
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
java.lang.NoClassDefFoundError: Class not found
using the boot class loader; no stack available
1.分析过程
首先看到log 中出现很多信息,从caused by 看到类找不到,但是此异常信息是在运行程序时候,
突然弹出此问题,(注意:以前程序都是正常的),此时看上面Suppressed中提示的activity类,是否存在,
如果存在,可以排除代码异常引起,可能是eclipse 引起的。仔细看下导入lib 加载进去了没有。
2.错误原因
可能在编译中未能加载完全类执行编译导致。
3.解决方法
重启Eclipse ,待程序加载完成,再运行.一般都能解决.
getOwnCacheDirectory()用于获取外部存储路径
如果编程中布局出现冲突,如父控件需要Padding来使其变大,子控件1需要放在父控件中间,子控件2又需要放在父控件的右上角或某个其他的角度,此时由于padding的存在会使得子控件与该角之间有空隙。此时可以考虑,父控件包裹内容,子控件2通过放在帧布局中,通过帧布局的padding来撑大父控件,同时子控件2又可以与父控件某角无缝隙
JavaBean对象
- 内部嵌套的类必须是static的,要不然解析会出错;
- 类里面的属性名必须跟Json字段里面的Key是一模一样的
- 内部嵌套的用[]括起来的部分是一个List,所以定义为 public List b,而只用{}嵌套的就定义为 public C c