每次都会遇到好些重复问题,但是好多时候忘记上次是怎么解决,所以留下个文章记录一下bug的前世今生以及如何销毁
Circular dependencies cannot exist in RelativeLayout
RelativeLayout 布局陷入死循环,就是两个控件之间互相 调用
微信已经安装,但是点击微信分享或者支付,判断微信是否按照返回false(包名检验)
sdk检查和包名检查 双重检验
if(微信sdk.是否已安装微信){
return true
}else if(微信包名 == 已安装apk的包名){
return true
}else{
return fasle
}
/**
*
* 判断微信是否已安装
* @return true安装, false未安装
*/
public static boolean isWeChatAppInstalled(Context context) {
IWXAPI api = WXAPIFactory.createWXAPI(context, "申请的微信AppId");
if(api.isWXAppInstalled() ) {
return true;
} else {
PackageManager packageManager = context.getPackageManager();// 获取packagemanager
List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);// 获取所有已安装程序的包信息
if (pinfo != null) {
for (int i = 0; i < pinfo.size(); i++) {
String pn = pinfo.get(i).packageName;
if (pn.equalsIgnoreCase("com.tencent.mm")) {
return true;
}
}
}
return false;
}
}
java.lang.IndexOutOfBoundsException setSpan (12 ... 12) ends beyond length 10
EditText设置了maxLength,最多输入字符个数,设置默认数据的时候,字数超过设置的最大字数
mInputPeople.setText(mLocationBean.getRealName());
mInputPeople.setSelection(mLocationBean.getRealName().length() - 1);
DialogFragment java.lang.IllegalStateException Can not perform this action after onSaveInstanceState with DialogFragment
大致意思是说我使用的 commit方法是在Activity的onSaveInstanceState()之后调用的,这样会出错,因为onSaveInstanceState
方法是在该Activity即将被销毁前调用,来保存Activity数据的,如果在保存玩状态后再给它添加Fragment就会出错。解决办法就
是把commit()方法替换成 commitAllowingStateLoss()就行了,其效果是一样的。
解决方案
Annotation processors must be explicitly declared now 或者 Please add them to the annotationProcessor configuration
在app的build中 android {
...
defaultConfig {
...
//添加如下配置就OK了 javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } }
}
...
}
网友评论