2010-11-23 49 views
1

HI, 我已經擴大BaseAdapter,我的列表的大小爲20,但只顯示7條記錄,則再次顯示了從0問題的BaseAdapter

公共類ContactsAdapter 7日記錄後延伸BaseAdapter私人列表組件; 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; 
} 

}

請幫

回答

1

意見被重用,所以你應該在if-else塊後,把tv_name.setText(t.getFirstName());

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());