继上一篇博客之后我发现在百度搜索排名第二条,想想还有些小激动呢。咳咳咳~~~,废话少说,赶紧把我遇到的一个问题记录下来,以便别人采坑或者自己在采坑。
问题描述:从服务端拿到一个type来展示来展示本地不同type的图片,但是我发现了一个错位问题,代码如下:
switch (type){
case Constants.TYPE_1:
holder.iv_rotate.setImageResource(R.mipmap.icon_type_1);
break;
case Constants.TYPE_2:
holder.iv_rotate.setImageResource(R.mipmap.icon_type_2);
break;
case Constants.TYPE_3:
holder.iv_rotate.setImageResource(R.mipmap.icon_type_3);
break;
default:
break;
}
xml:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:gravity="center_vertical"
android:layout_marginLeft="@dimen/dip_16">
<ImageView
android:id="@+id/iv_header"
android:layout_width="@dimen/dip_36"
android:layout_height="@dimen/dip_36"
android:src="@drawable/header0"/>
</LinearLayout>
就这么一代码,然后发生了错位的现象,是不是很奇怪呢?
经过我的多次试验和排查,最后发现服务端传过来的type超出了switch的界定范围,这时候因为没有明确的给iv_header赋值,导致iv_header的状态没有更新,所以就产生了错位的现象。说到这里估计大家也就理解原因了,如果有相同的问题您就采纳,没有也不要人身攻击哈。。。感谢大家观看!