美文网首页
Android Bug 合集以及解决方案记录

Android Bug 合集以及解决方案记录

作者: 付小影子 | 来源:发表于2019-04-12 12:42 被阅读0次

    每次都会遇到好些重复问题,但是好多时候忘记上次是怎么解决,所以留下个文章记录一下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 } }
        }
        ...
    }
    

    相关文章

      网友评论

          本文标题:Android Bug 合集以及解决方案记录

          本文链接:https://www.haomeiwen.com/subject/ryfcwqtx.html