HI, i have extended BaseAdapter, my size of the list is 20,but it is showing only 7 records, after the 7th record it is showing again from 0.
public class ContactsAdapter extends BaseAdapter { private List elements; private Context c;
public ContactsAdapter(Context c, List<ContactBean> Tweets) {
this.elements = Tweets;
this.c = c; }
public int getCount() {
return elements.size(); }
public Object getItem(int position) {
System.out.println(":: ::"+position);
System.out.println("Printing Postions ::"+elements.get(position));
return elements.get(position); }
public long getItemId(int id) {
return id; }
public void Remove(int id) { notifyDataSetChanged(); }
public View getView(int position, View convertView, ViewGroup parent) {
LinearLayout rowLayout;
ContactBean t = elements.get(position);
if (convertView == null) {
rowLayout = (LinearLayout) LayoutInflater.from(c).inflate(
R.layout.list_view, parent, false);
TextView tv_name = (TextView) rowLayout.findViewById(R.id.txt_contacts_name);
tv_name.setText(t.getFirstName());
} else {
rowLayout = (LinearLayout) convertView;
}
return rowLayout;
}
}
Please help
Views are reused, so you should put tv_name.setText(t.getFirstName());
after the if-else block:
if (convertView == null) {
rowLayout = (LinearLayout) LayoutInflater.from(c).inflate(R.layout.list_view, parent, false);
} else {
rowLayout = (LinearLayout) convertView;
}
TextView tv_name = (TextView) rowLayout.findViewById(R.id.txt_contacts_name);
tv_name.setText(t.getFirstName());