Android ListView adapter doesnt show items properly -
below listview adapter doesnt show items when click item jump next activity , come after. data received database.
public class cropselectionactivity extends activity implements android.widget.adapterview.onitemclicklistener { private static final string tag = cropselectionactivity.class.getname(); private static cropsadapter listadapter; private static listview listview; public static string selectedcrop = null; private static pendingintent pendingintent; private static alarmmanager alarmmanager; private static pendingintent pendingintent1; private static alarmmanager alarmmanager1; private static final long syncalaramintervel = 15 * 60 * 1000; private static final long deletionintervel = 15 * 60 * 1000; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.displaypoints); getwindow().setflags(windowmanager.layoutparams.flag_fullscreen,windowmanager.layoutparams.flag_fullscreen); log.i(tag, "----oncreate()-----"); firealarm(); final string details[] = dalaccesslayer.getusermailandid(cropselectionactivity.this); actionbar actionbar = getactionbar(); actionbar.settitle("esap expert"+"("+details[1]+")"); actionbar.sethomebuttonenabled(true); strictmode.setthreadpolicy(new strictmode.threadpolicy.builder() .detectdiskreads() .detectdiskwrites() .detectnetwork() // or .detectall() detectable problems .penaltylog() .build()); strictmode.setvmpolicy(new strictmode.vmpolicy.builder() .penaltylog() .penaltydeath() .build()); listview = (listview) findviewbyid(r.id.list); listview.setonitemclicklistener(this); listadapter = new cropsadapter(this,r.layout.listview); } @override protected void onpostresume() { super.onpostresume(); map<string, integer> list = dalaccesslayer.getcrops(getapplicationcontext(), databaseconstantsstring.status_unresolve.getvalue(), "0"); int pointscount = 0; (string key : list.keyset()) { croppojo cp = new croppojo(); cp.setcropname(key); pointscount = pointscount+list.get(key); log.i(tag, "pointscount ="+pointscount); cp.setcount(list.get(key)); listadapter.add(cp); } listview.setadapter(listadapter); log.i(tag, "number of existing points ="+pointscount); } @override protected void ondestroy() { super.ondestroy(); listadapter.clear(); listview.setadapter(listadapter); } @override public void onitemclick(adapterview<?> parent, view view, int position, long id) { croppojo cp = (croppojo) listview.getitematposition(position); selectedcrop = cp.getcropname(); intent intent = new intent(this, displaypoints.class); startactivity(intent); } @override public void onbackpressed() { } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.mainmenu, menu); return true; } @override public boolean onoptionsitemselected(menuitem item){ switch (item.getitemid()){ case r.id.logout: intent = new intent(getapplicationcontext(),mainactivity.class); i.addflags(intent.flag_activity_clear_top); i.addflags(intent.flag_activity_new_task); startactivity(i); return true; case r.id.refresh: startservice(new intent(getapplicationcontext(), myservice.class)); return true; case r.id.getexpertporfile: communicationhandler.getexpertprofile(getapplicationcontext()); return true; default: return super.onoptionsitemselected(item); } } public class cropsadapter extends arrayadapter<croppojo>{ private int textviewresourceid; public cropsadapter(context context, int textviewresourceid) { super(context, textviewresourceid); this.textviewresourceid = textviewresourceid; } @override public view getview(int position, view convertview, viewgroup parent) { final view view = getworkingview(convertview); final viewholder viewholder = getviewholder(view); final croppojo croppojo = getitem(position); viewholder.titleview.settext(croppojo.getcropname()); viewholder.locationview.settext(string.valueof(croppojo.getcount())); return view; } private view getworkingview(final view convertview) { // workingview convertview re-used if possible // or inflated new if not possible view workingview = null; if(null == convertview) { final context context = getcontext(); final layoutinflater inflater = (layoutinflater)context.getsystemservice (context.layout_inflater_service); workingview = inflater.inflate(textviewresourceid, null); } else { workingview = convertview; } return workingview; } private viewholder getviewholder(final view workingview) { // viewholder allows avoid re-looking view references // since views recycled, these references never change final object tag = workingview.gettag(); viewholder viewholder = null; if(null == tag || !(tag instanceof viewholder)) { viewholder = new viewholder(); viewholder.titleview = (textview) workingview.findviewbyid(r.id.firstline); viewholder.locationview = (textview) workingview.findviewbyid(r.id.location); workingview.settag(viewholder); } else { viewholder = (viewholder) tag; } return viewholder; } /** * viewholder allows avoid re-looking view references * since views recycled, these references never change */ private static class viewholder { public textview titleview; public textview locationview; } }
Comments
Post a Comment