我想在列表视图中显示一个非常简单的分隔符。我已经制作了一个扩展"SimpleAdapter"的自定义适配器,并且我的实现在一定程度上起作用。它显示分隔符和我的列表是正确的,但一旦我开始滚动,然后再向上滚动,分隔符就会变乱,而不是列表项等。有时当我再滚动一些时,它看起来会再次正确。这是我的"getView"代码
@Override
public View getView(int position, View convertView, ViewGroup parent){
if(((String)items.get(position).get("name")).startsWith("-")){
View divider = inflater.inflate(R.layout.list_separator, null);
TextView separator = (TextView)divider.findViewById(R.id.separator);
separator.setText(((String)items.get(position).get("name")));
return divider;
} else {
return super.getView(position, convertView, parent);
}
}
我可能有什么问题?
如果您的分隔符像您所说的那样非常简单,那么您有两种更好的方法将其放在列表视图中:
1.使用android:divider属性:将其放入xml中
<item name="android:divider">@layout/list_separator</item>
2.使用ListView中的方法setDivider(),将布局设置为Drawable。:
ListView lv = ... ;
lv.setDivider(getResources().getDrawable(R.layout.list_separator));