2012-04-03 65 views
0

我正在尝试使用可以为每个订单项定制视图的ListAdapter。例如,我想这看起来有点如下图所示有没有一种有效的方法来创建Android ListAdapter,每个订单项都有自定义视图?

item 1 {Bold} , 
item 2 {Italics}, 
item 3 {Normal font} 
item 4 {Normal font} 
item 5 {Normal font} 

我尝试了列表视图下面的代码,但发生的事情是,如果我向下滚动项目10也显示粗体和第11项为斜体等,我不想要。现在去掉下面的代码的缓存部分后,它工作正常(按我的预期,但似乎这是一个有点慢。 是否有一个有效的方式来达到同样的

http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html

holder.text.setText(DATA[position]); 
if (position == 1){ 
holder.text.setTypeface(Typeface.DEFAULT_BOLD); 
}else if (position == 2) { 
holder.text.setTypeface(Typeface.SERIF);  
}else if (position == 3){ 
holder.text.setTextSize(35); 
} 
+1

“复位” 字样和TEXTSIZE在其他情况下'如果(){} ...否则{设置中的所有东西到默认}'...现在应该缓存 – Selvin 2012-04-03 14:20:52

+0

发现其解决工作:您必须执行明确的检查以确定新的字体类型是否是预期的字体类型。否则重新布局布局 – Shakti 2012-04-06 13:15:01

回答

0

试试这个代码:

holder.text.setText(DATA[position]); 
if (position == 1){ 
    holder.text.setTypeface(Typeface.DEFAULT_BOLD); 
}else if (position == 2) { 
    holder.text.setTypeface(Typeface.SERIF);  
}else{ 
    holder.text.setTextSize(35); 
} 
相关问题