安卓开发实习以来踩过的坑
1. RecyclerView只显示第一个item
原因:item的高度是match_parent
2. Logcat里找不到设置了tag的log
原因:tag中包含空格
3. 使用View作为分界线时,出现Render problem
原因: Unable to inflate view tag without class attribute,View的V没有大写。
4. 使用getString(R.String.text)显示一串数字
解决方法:使用context.getString(R.String.text);
5. 使用listview,某些item的view消失
原因:复用了viewHolder,在viewHolder中有判断某参数为false时,设置visibility为Gone的操作,却忘记了在参数为true时,设置visibility为visible。
6.下滑刷新列表,刷新后列表回到顶部
原因:数据更新后使用setAdapter更新界面。
解决方法:使用notifyDataSetChanged方法更新界面。
7.RecyclerView 忘记设置layoutManager导致界面刷不出来
8.RecyclerView 使用notifyDataSetChanged,数据没有更新
原因:只是把data的引用改了,data = tempList; 没有改变data的数据。
解决方法: data.clear(); data.addAll(tempList); adapter.notifyDataSetChanged();
9.大图浏览模式下滑动图片,图片晃动
原因:在View的onTouch()方法中使用MotionEvent的getX()和getY()方法获取手指当前的坐标。getX()和getY()返回相对于当前View左上角的x和y坐标。
解决方法:使用getRawX()和getRawY(),getRawX()和getRawY()返回相对于手机屏幕左上角的x和y坐标。
10. NestedScrollView的子布局设置match parent无效
解决方法:android:fillViewport=“true”
11. 本地图片Drawable尺寸(长*宽)太大,导致用户在加载bitmap至内存时,发生OOM
解决方法:1.找设计师换一张尺寸小的图片。2.设置bitmap采样率至合适值,避免浪费内存