android studio 报错问题汇集

1.今天用到了.9图,顺便写下遇到的问题,android studio中现在自动集成了制作.9的制作工具,所以在drawable下鼠标右键图片就可以看到制作.9图片的选项。.9的制作比较简单,左边和上边是控制拉伸的,下边和右边是控制内容显示区域的。在制作了.9之后,编译的时候遇到一个编译不通过的问题:

Error:Execution failed for task ':app:mergeDebugResources'.

这个的原因折腾了我一会,原来是.9图没做正确,在android studio中对.9做了很严格的检查,要求.9图四条边都得描黑(做出限制),不然就编译失败。

2.今天解决了一个bug:

java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's contents without calling PagerAdapter#notifyDataSetChanged! Expected adapter item count: 4, found: 5 Pager id: 

这个bug是发版之后友盟上报的错,异常描述是在实例化adapter的时候本来是4个fragment,现在又加了一个,变成了5个,而且没有通知adapter,这一个是怎么加上来的呢,最后统计是因为我实例化adapter的时候是在发起网络请求的之后根据服务器数据动态添加fragment的,为现在在别的地方这个方法又被调用了,所以又添加了,而我也没有做判断,所以导致这个原因,这里报的这个错是在view pager的源码里面populate()这个方法里面,下面这段代码是方法里的:

  if (N != mExpectedAdapterCount) {
            String resName;
            try {
                resName = getResources().getResourceName(getId());
            } catch (Resources.NotFoundException e) {
                resName = Integer.toHexString(getId());
            }
            throw new IllegalStateException("The application's PagerAdapter changed the adapter's"
                    + " contents without calling PagerAdapter#notifyDataSetChanged!"
                    + " Expected adapter item count: " + mExpectedAdapterCount + ", found: " + N
                    + " Pager id: " + resName
                    + " Pager class: " + getClass()
                    + " Problematic adapter: " + mAdapter.getClass());
        }

这里面又两个变量N和mExpectedAdapterCount,这两个值都是count返回的数据个数,当数据发生变化的时候这两个值就会比较,不一致就会抛出以上的异常。bug记录到此。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值