android studio 报错问题汇集

来源:互联网 发布:大数据平台需求分析 编辑:程序博客网 时间:2024/06/05 03:22

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记录到此。

原创粉丝点击