Android疑难杂症
披萨大叔
某程票贩子,主业做菜,副业代码,兼职铲屎官
展开
-
FragmentPagerAdapter.notifyDataSetChanged失效详解
背景项目中用到Viewpager+FragmentPagerAdapter管理若干Fragment,我的fragments是根据服务返回的json动态生成的,当我的fragments发生变化时,本想通过fragments.clear();//清除旧的fragmentfragments.add(……);//添加新的FragmentPagerAdapter.notifyDataSetChanged来原创 2017-09-05 14:06:25 · 1908 阅读 · 1 评论 -
记ViewPager在使用中踩过的坑(刷新bug,空白页bug)
ViewPager是现在比较常用的图片轮播容器,本人在项目中做循环轮播时,踩了不少坑,特开一贴记录。ViewPagerAdapter刷新问题这是个老生常谈的问题了,网上的解决方案也一堆,这里主要记录一下问题产生的原因。每次调用notifyDataSetChanged()时,都会触发getItemPosition(Object object)。该方法会遍历viewpager的所有it原创 2018-01-11 15:50:39 · 4007 阅读 · 0 评论 -
Activity启动模式有感
外勤项目有这样一个BUG:有新工单时,从工单处置页面点击通知栏的通知,查看工单时,不会加载工单,而且工单处置页面退出后,还有一层工单处置页面。对于后者,显然是因为task栈中有两个活动的工单处置Activity,所以要改TasksAcceptActivity的启动方式。在AndroidManifest中TasksAcceptActivity注册时加上:android原创 2016-03-03 20:48:38 · 466 阅读 · 0 评论 -
Eclipse下Add Native Support报错:“Unable to launch cygpath”解决方案
Head to the project's properties. If you're using Windows, the shortcut is Alt + Enter; or simply right-click the project name to find its properties.Go to the C/C++ Build section; under Build转载 2016-03-03 20:51:56 · 1930 阅读 · 0 评论 -
AsyncTask执行缓慢的原因分析
这几天在做一个缓存网络加载的信息模块,在读取缓存并更新UI的时候用到AsyncTask,本来是想这样代码比较干净的,然后就发现问题了。问题:执行execute()以后,从onPreExecute()到doInBackground()之间竟然等待了长达7秒,而且这个时间时长时短,然后就开始查找原因。 后来发现了AsyncTask的黑历史: 在1.6(Donut)之前: 在第一版的Async原创 2016-05-11 10:08:29 · 6554 阅读 · 0 评论 -
关于popupwindow无法正常弹出的一些低级错误
前阵子发现一个很低级的bug,我订制了一个popup,但是,在弹出的时候却没反应。仔细检查后,发现我是这样写的:public class ProgressPopu extends PopupWindow{private PopupWindow popupWindow;public ProgressPopu (){ popupWin原创 2016-03-03 21:00:49 · 1764 阅读 · 0 评论 -
x-Utils在android5.0下报错的解决方案
如果是引用的jar包,替换最新的2.6.14就行了如果是引用的jar包,替换最新的2.6.14就行了转载 2016-03-03 21:02:58 · 323 阅读 · 0 评论 -
解决ScrollView跟ListView或GridView嵌套时的问题
以下文章转自@安卓泡面在工作中,曾多次碰到ScrollView嵌套ListView的问题,网上的解决方法有很多种,但是杂而不全。我试过很多种方法,它们各有利弊。在这里我将会从使用ScrollView嵌套ListView结构的原因、这个结构碰到的问题、几种解决方案和优缺点比较,这4个方面来为大家阐述、分析、总结。实际上不光是ListView,其他继承自AbsListVie转载 2016-03-03 21:03:50 · 525 阅读 · 0 评论 -
XUtils包在安卓5.0以上报错“java.IOException: stack size 1036KB”
这是老的XUtils包内部有bug,换乘最新的2.6.14就可以了。不过如果用的了XUtil的DB框架,可能会有红叉,因为有些函数后来被优化了,百度下都可以找到替代函数。博主以前用的是2.4.6,用到了DbUtils.findAll() 函数,现在改成了这样(以下数据是我的,替换对应的数据即可):findAll(Selector.from(LeakEventModel.class).w原创 2016-03-09 09:38:59 · 457 阅读 · 0 评论 -
移动开发之关于“127.0.0.1”的错误使用
背景移动开发过程中,经常要用自己的电脑架设服务器,用手机连自己的服务,测试服务代码。我们手机连接服务需要的一些服务地址信息一般会用配置文件,放在服务器上,通过网络下载,读取配置信息,获得这些服务地址。问题在大部分情况下,我们电脑都不会用固定IP,特别是用笔记本连接WIFI的时候,IP更是经常变化。那我们在上面背景中说的配置文件,如何配自己的本机IP呢?有些聪明的小伙伴就会用“1原创 2016-03-09 10:19:07 · 3356 阅读 · 0 评论 -
android setTag (int key, Object tag)抛出IllegalArgumentException的问题
摘自: http://www.cnblogs.com/CHN-William/archive/2011/08/29/2158272.html setTag是android的view类中很有用的一个方法,可以用它来给空间附加一些信息,在很多场合下都得到妙用。setTag(Object tag)方法比较简单,这里主要谈一谈带两个参数的setTag方法。官方的api文档中提到: “ The spe转载 2016-04-22 17:07:16 · 566 阅读 · 0 评论 -
Android软键盘删除键触发Activity的返回事件
今天突然发现一个bug,自己的EditText在删除内容时,总会触发Activity的返回事件,可是昨天明明是好好的。于是调试一番才突然醒悟:原来是我今天重写了onKeyDown监听,但是忘记过滤KeyCode了,如此简单……public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.原创 2016-05-25 09:59:05 · 5194 阅读 · 1 评论 -
TextView.setTextColor方法不能用R.Color.XXX设置颜色
今天遇到一个十分奇怪的问题,我在代码里给TextView设置颜色,如下:tvTips.setTextColor(R.Color.red);但是结果显示,这个TextView竟然是紫色的!搞了好久才发现原来setTextColor是不能直接用资源ID映射资源的,它会直接把资源ID当作颜色值来用,Talk is cheap, show me the code.我们直接对比下 setTextColor 和原创 2016-05-26 18:07:22 · 10956 阅读 · 3 评论 -
pinyin4j速度缓慢解决方案
转载请标注: 披萨大叔的博客 http://blog.csdn.net/qq_27258799/article/details/51372052 如果您觉得这篇文章对您有帮助,请点下文章最下面的赞~楼主最近在项目中使用了网上的一个带首字母索引的ListView,发现每次ListView数据初始化的速度奇慢,如果是调试模式下,简直是等到天荒地老。于是用Traceview分析了下中间的原创 2016-06-14 15:40:45 · 2050 阅读 · 0 评论 -
关于android版本兼容的一些问题
近期关于项目中踩了一些兼容性的bug,这里记录一下。第一个是用友盟分享组件6.1.1版本,SDK中的分享面板不支持自定义面板背景,比如我想换一个圆角背景,就没办法。于是就反编译看了他们的代码,然后黑了一下,加入了自定义背景接口。结果线上出现了一个bug,原因是下面这段我加入的代码:if (this.mConfig.mShareboardBgDrawable != null) {原创 2016-12-26 12:30:40 · 1670 阅读 · 0 评论 -
addView导致子布局“match_parent”属性失效详解
问题项目中我们经常会动态生成并加载View,而在最后addView的时候,也会经常遇到诡异的现象:明明子布局我们设置的是android:layout_width="match_parent",而最后真机的效果却是"wrap_content"。为什么会这样?我们看下addView的源码。 public void addView(View child) { addView(child,原创 2017-09-05 11:28:57 · 4929 阅读 · 1 评论 -
链接url自动拼接appinstall参数导致其在ios QQ分享时乱码
今天测试提了一个很诡异的bug,我们的分享链接在android平台都可以正常打开,但是在ios手机上,打开就是乱码。后来通过查看链接的url才发现猫腻。我们在ios上的url自动添加了一个appinstall=0,删除这玩意,链接就可以正常打开了!赶紧上网查了查,原来是我们的url中包含#引起的。QQ会识别#自动添加appinstall参数,具体是干嘛的还不清楚。解决方法也很简...原创 2018-03-27 16:57:27 · 2466 阅读 · 0 评论