对于android编程来说是相当新的东西,我有一个Listview,其值正在我的代码中填充,但是每当方向更改或恢复时,列表条目就会被重新填充(导致条目重复),我该如何解决这个问题
在这里,根据您的要求,您可以看到一个示例适配器,该适配器已将ViewHolder用于ListView:
public class AllCustomerListCustomAdapter extends SimpleCursorAdapter {
private Cursor c; // Passed in cursor
private Activity context;
public CustomAdapter(Activity context, int layout, Cursor c,
String[] from, int[] to) {
super(context, layout, c, from, to);
this.c = c;
this.context = context;
c.moveToFirst();
}
static class ViewHolder
{
public TextView rowView1;
public TextView rowView2;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
View rowView = convertView;
c.moveToPosition(position);
if (rowView == null)
{
LayoutInflater inflater = (context).getLayoutInflater();
rowView = inflater.inflate(R.layout.listview_row, null, true);
holder = new ViewHolder();
holder.rowView1 = (TextView) rowView.findViewById(R.id.txtListItem1);
holder.rowView2 = (TextView) rowView.findViewById(R.id.txtListItem2);
rowView.setTag(holder);
}
else
{
holder = (ViewHolder) rowView.getTag();
}
holder.rowView1.setText(c.getString(c.getColumnIndex(DBAdapter.KEY_VIEW1)));
holder.rowView2.setText(c.getString(c.getColumnIndex(DBAdapter.KEY_VIEW2)));
return rowView;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句