正在制作一个小购物清单应用程序。在应用程序中,如果列表视图中的项目已被标记为已购买,则它会被换行。我的问题是,当列表第一次显示时,如果列表中有任何标记为已购买的物品,则第一个物品将显示为已标记为已购买(即使没有物品)。列表视图中的第一项无法正确显示
如果没有项目被标记为买那么第一项显示为它应该
代码为我的阵列适配器
public class ListAdapter extends BaseAdapter{
Context context;
ArrayList<List_Item> items;
public ListAdapter(Context context, ArrayList<List_Item> list){
this.context = context;
items = list;
}
@Override
public int getCount() {
if(items != null)
return items.size();
else
return 0;
}
@Override
public Object getItem(int index) {
return items.get(index);
}
@Override
public long getItemId(int index) {
return 0;
}
@Override
public View getView(int pos, View convertView, ViewGroup parent) {
View view = convertView;
Holder holder = new Holder();
if(convertView == null){
view = LayoutInflater.from(context).inflate(R.layout.complex_list_item, parent, false);
}
holder.main = (TextView)view.findViewById(R.id.LItextView1);
holder.second = (TextView)view.findViewById(R.id.LItextView2);
List_Item item = items.get(pos);
holder.main.setText(item.name);
holder.second.setText(item.qtyToBuy + " " + item.unit + "(s) @ $" + item.price
+ " per " + item.unit.toLowerCase());
if(item.bought){
holder.main.setBackgroundResource(R.drawable.strikeout);
}
return view;
}
class Holder{
TextView main;
TextView second;
}
}
这究竟是为什么?我怎样才能解决这个问题?任何建议将不胜感激。
你买过的东西你点击了吗? –
是的,但是当我从文件中显示保存的数据而不是当我点击一个项目时发生这个问题 – user11559