将遇到的问题记录下来才会减少错误的增长空间
【持续更新】
1. layout.findViewById();用findViewById找到资源时,需要注意资源所属的View
2. 使用线程Thread时,若要使用标志位flag来控制线程的停止,则需要将flag设置为全局变量(若为局部变量,则会要求声明为final类型)
3. 当新定义了一个View类后,发现无法在XML中引用或引用出错,且确保自定义无错的情况下,多半是编译器的缓存问题【只要重启编译器就好】
4. 对于git管理的项目,若是解决了冲突之后仍然提示冲突,则只需右键工程->Team->Add to Index即可
5. 使用Http协议访问网络时,当用浏览器直接访问网址成功而httpclient连接却失败时,很有可能是url有错(如多了一个“.”浏览器会自动忽略的)
一定要提高代码的复用性
6.访问网络Debug时传入的数据正确,然而服务端接收到的数据有误:【使用Volley框架时】
发现:传递的数据时long类型时就会导致接收的数据不一样,所以只能传递int类型
7.程序运行不了:INSTALL_FAILED_DEXOPT
可能是测试用的真机内存不够
8.资源文件引入不到,可能是R的引包错误
或者含有重名id的情况
9. getString(R.string.title_myinfor)代码中引入文字资源
10.一些变量无法传输时可加(Serializable)表序列化
11. layout_marginRight失效
1、如果LinearLayout中使用android:layout_marginRight不起作用,通过测试原来在android2.x中, 如果一个控件中有android:layout_gravity属性,就会出现android:layout_marginRight没有应有的效果,而是把左边距加到右边距上去,直接去掉android:layout_gravity这个属性可以解决
2、如果是在RelativeLayout中不起作用,请在这个代码前加了一条android:layout_alignParentRight=”true”就可以
3、如果是ScrollView中的LinearLayout 中设置margin 类的属性无效, 解决方法LinearLayout中加android:layout_gravity=”top” 属性就ok。
12. edittext.getText().equals()无效
加个toString()即可,即edittext.getText().toString.equals()。
13. 非Activity类中调用startActivityForResult()
如在Adapter类中调用此方法,使用从Activity类中传入的Context则发现无法调用startActivityForResult()方法。解决方法是将Activity类传入的Context类改为Activity类,Result的返回在原Activity类中的onActivityResult()中处理。
14. ImageButton若声明为Button则在findID和setOnClickLinstaner时会报错,一定要注意类型一致
15.强制退出App方法无效(使用下面的方法即可)
int currentVersion = android.os.Build.VERSION.SDK_INT;
if (currentVersion > android.os.Build.VERSION_CODES.ECLAIR_MR1) {
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
System.exit(0);
} else {// android2.1
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
}
16. Glide加载圆形头像。第一次无法显示加载的头像图片
Glide加载圆形头像CircleImageView时,如果设置了加载前的默认图片,则第一次只显示默认图片,第二次加载时才会显示网络加载的图片。
解决方法:加.dontAnimate()方法,不使用Glide默认动画即可。例如:
Glide.with(this).load(url)
.dontAnimate()
.placeholder(R.drawable.ic_launcher)
.centerCrop()
.into(userAvatarIv);