Android:Adapter中设置多种type的item的LayoutParams导致的convertView复用异常的问题

http://stackoverflow.com/questions/12018997/why-does-getview-return-wrong-convertview-objects-on-separatedlistadapter#comment35496677_12288051

The recycle bin technically stores the convert views based on the type that was initially read from getItemViewType but is then saved to the view‘s LayoutParams object. If you overwrite the view‘s LayoutParams you will overwrite the view type and thus break the recycling! – user153275 Apr 21 ‘14 at 20:41

代码中设置的layoutParams实用的是成员变量,会导致convertView的viewType混乱,出问题

时间: 2024-08-29 08:37:11

Android:Adapter中设置多种type的item的LayoutParams导致的convertView复用异常的问题的相关文章

Android一个TextView设置多种颜色的2种高效方法

有时候一个文本框为了强调内容须要显示不同颜色,用下面代码能够轻松实现 方法一:(适用于颜色变化多的情况) //为文本框设置多种颜色 textView=(TextView)findViewById(R.id.text_show); SpannableStringBuilder style = new SpannableStringBuilder("备注:签收人(张三)"); style.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 3,

Android系统中设置TextView的行间距(非行高)

Android系统中TextView默认显示中文时会比较紧凑,不是很美观.为了让每行保持一定的行间距,可以设置属性android:lineSpacingExtra或android:lineSpacingMultiplier. 关于Android下TextView中文换行问题,可查看Android自定义view-文本自动换行. 1.android:lineSpacingExtra设置行间距,如”3dp”. 2.android:lineSpacingMultiplier设置行间距的倍数,如”1.2″

Android Studio中设置提示函数用法

Eclipse有一个很好的功能,就是当你代码调用某个android API时,鼠标移到对应的函数或者方法上,就会自动有一个悬浮窗提示该函数的说明(所包含的参数含义,该方法功能).迁移到Android Studio后,这个鼠标移到函数上,你发现悬浮窗不出来了.那么在Android Studio到底如何查看函数的说明呢. 在Android Studio中默认情况下是不会和Eclipse那样,鼠标移动到一个类或者方法或者变量上面,就会弹出悬浮框,显示相关的文档的.不过,Android Studio可以

android studio 中设置apk的版本号

今天在mainfest.xml中设置版本号为2,(代码获取到的版本号无效) android:versionCode="2" android:versionName="2.0" 竟然通过代码: PackageManager manager = mContext.getPackageManager(); PackageInfo info = manager.getPackageInfo(mContext.getPackageName(), 0); String vers

Android一个TextView设置多种颜色

有时候一个文本框为了强调内容需要显示不同颜色,用以下代码可以轻松实现 //为文本框设置多种颜色 textView=(TextView)findViewById(R.id.text_show); SpannableStringBuilder style = new SpannableStringBuilder("备注:签收人(张三)"); style.setSpan(new ForegroundColorSpan(Color.BLUE), 0, 3, Spannable.SPAN_EXC

android RadioGroup中设置selector后出现多个别选中的RadioButton的解决办法

在一个RadioGroup组中假如有三个或者以上的RadioButton,当然你需要给这些RadioButton设置selector.设置其中的一个为默认选中状态(在xml中设置).当程序在手机上运行时你会发现,那个设置默认选中的RadioButton总是被选中的. 那么怎样解决它呢? 办法:既然在xml设置默认选中状态的方法行不通,那么我们就换一种思路,在代码中动态的设置RadioButton的checked属性.这就是问题的解决办法,就是这么的简单.愿意暂时不详.(不过这个结论我已经证实了,

Android开发中适配多种 ROM 的快捷方式是如何实现的?

在安卓开发中,要提高开发效率,掌握一些快捷方式是必不可少的,特别是对于android入门阶段的童鞋而言,非常重要.今天小编在安卓开发教程网站上,搜罗了一些常用的Android 适配多种 ROM 的快捷方式,分享给大家,一起来看看他们是怎么实现的吧. 首先,需要获取权限: <!-- 添加快捷方式 --> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /&g

Android GridView中设置了Button以后就不能响应OnItemClick()

当我们在GridView或者ListView里面设置了Textiew的时候,假如我们不给Textiew设置onlick()的话,那么Gridiew的OnItemClick()就是可以执行的,但是当把TextView换成是Button的时候我们也不设置onClick()的话,GridView的OnItemClick()也是不能执行的,为什么呢,这说明Button和TextView内部事件方面有区别,去查看Button的源代码,代码很少就这么几句 public class Button extend

Android系统中设置TextView等的行间距

1.android:lineSpacingExtra 设置行间距,如”2dp”. 2.android:lineSpacingMultiplier 设置行间距的倍数,如”2″.