android - ListView items are overlapped -
items listview overlapped after delete items. why? example before , after delete first item:
i deleting elements using method:
public void updatedata(list<parseobject> data) { mgrouplist.clear(); mgrouplist.addall(data); notifydatasetchanged(); }
listview:
<listview android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:divider="@null"/>
getview in adapter:
@override public view getview(int position, view convertview, viewgroup parent) { viewholder viewholder; if (convertview == null) { viewholder = new viewholder(); convertview = mlayoutinflater.inflate(r.layout.card_item, parent, false); viewholder.mcardviewnative = (cardviewnative) convertview.findviewbyid(r.id.card_view); convertview.settag(viewholder); } else { viewholder = (viewholder) convertview.gettag(); } //code viewholder.mcardviewnative.setcard(card); return convertview; }
card_item.xml:
<it.gmariotti.cardslib.library.view.cardviewnative android:background="@drawable/header_dark" android:id="@+id/card_view" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"/>
update
if don't use viewholder , inflate view everytime, there no overlap. inflate view everytime not good.
@override public view getview(int position, view convertview, viewgroup parent) { convertview = mlayoutinflater.inflate(r.layout.card_item, parent, false); cardviewnative cardviewnative = (cardviewnative) convertview.findviewbyid(r.id.card_view); //code cardviewnative.setcard(card); return convertview; }
try
convertview = mlayoutinflater.inflate(r.layout.card_item, null);
instead of
convertview = mlayoutinflater.inflate(r.layout.card_item, parent, false);
it works me, using viewholder static class
Comments
Post a Comment