android - Listview with custom adapter overwriting data from my post -
i new java , android.
using custom adapter fill list_view
, got overwritten, , don't know should do.
searching on web found "linkedhashset", don't know how use it.
adapter class
public class osfuncionariolistadapter extends arrayadapter<osfuncionario> { private list<osfuncionario> itemlist; private context context; public osfuncionariolistadapter(list<osfuncionario> itemlist, context ctx) { super(ctx,android.r.layout.simple_list_item_1, itemlist); this.itemlist = itemlist; this.context = ctx; } public int getcount() { if (itemlist != null) return itemlist.size(); return 0; } public osfuncionario getitem(int position) { if (itemlist != null) return itemlist.get(position); return null; } public long getitemid(int position) { if (itemlist != null) return itemlist.get(position).hashcode(); return 0; } @override public view getview(int position, view convertview, viewgroup parent) { view v = convertview; if (v == null) { layoutinflater inflater = (layoutinflater) context.getsystemservice(context.layout_inflater_service); v = inflater.inflate(r.layout.osfuncionario_item, parent, false); osfuncionario ositem = itemlist.get(position); textview os = (textview) v.findviewbyid(r.id.idos); os.settext("os nº " + ositem.os); textview os1 = (textview) v.findviewbyid(r.id.datadaos); os1.settext(ositem.data); textview os2 = (textview) v.findviewbyid(r.id.solicitacao); os2.settext("solicitado por: "+ositem.solicitado); textview os3 = (textview) v.findviewbyid(r.id.textoosfunc); os3.settext(ositem.texto+"..."); } return v; } public list<osfuncionario> getitemlist() { return itemlist; } public void setitemlist(list<osfuncionario> itemlist) { this.itemlist = itemlist; } } fragment code public class osfuncionariofragment extends fragment { osfuncionariolistadapter adpt; osfuncionario item; protected sharedpreferences userlocaldatabase; public static final string sp_nome="userdetails"; public static final int connection_time = 1000 *30; public static final string servidor = "http://www.creativeriopreto.com.br/app/"; public osfuncionariofragment() { // required empty public constructor } @override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { // inflate layout fragment view rootview = inflater.inflate(r.layout.fragment_osfuncionario, container, false); userlocaldatabase = getactivity().getsharedpreferences(sp_nome, 0); adpt = new osfuncionariolistadapter(new arraylist<osfuncionario>(), getactivity()); listview lview = (listview) rootview.findviewbyid(r.id.listaosfuncionario); int idfuncionario = userlocaldatabase.getint("id", -1); lview.setadapter(adpt); item = new osfuncionario(idfuncionario); (new carregadados()).execute(); return rootview; } private class carregadados extends asynctask<string, void, list<osfuncionario>> { private final progressdialog dialog = new progressdialog(getactivity()); @override protected void onpostexecute(list<osfuncionario> result) { super.onpostexecute(result); dialog.dismiss(); adpt.setitemlist(result); adpt.notifydatasetchanged(); } @override protected void onpreexecute() { super.onpreexecute(); dialog.setcancelable(false); dialog.settitle("carregando"); dialog.setmessage("por favor aguarde"); dialog.show(); } @override protected list<osfuncionario> doinbackground(string... params) { list<osfuncionario> result = new arraylist<osfuncionario>(); arraylist<namevaluepair> data = new arraylist<>(); data.add(new basicnamevaluepair("id",string.valueof(item.idfuncionario))); httpparams httprequestparams = new basichttpparams(); httpconnectionparams.setconnectiontimeout(httprequestparams, connection_time); httpconnectionparams.setsotimeout(httprequestparams, connection_time) ; httpclient cliente = new defaulthttpclient(httprequestparams); httppost post = new httppost(servidor + "os/carregaosfuncionario"); try { post.setentity(new urlencodedformentity(data)); httpresponse response = cliente.execute(post); httpentity entity = response.getentity(); string jsonresp = entityutils.tostring(entity); jsonarray arr = new jsonarray(jsonresp); (int i=0; < arr.length(); i++) { result.add(convertdados(arr.getjsonobject(i))); } return result; } catch(throwable t) { t.printstacktrace(); } return null; } public osfuncionario convertdados(jsonobject obj) throws jsonexception { int os = obj.getint("id"); string solicitado = obj.getstring("solicitado"); string texto = obj.getstring("texto"); string data = obj.getstring("data"); return new osfuncionario(os, item.idfuncionario, solicitado, texto, data); } }
class code
public class ositinerarioclass implements serializable { public int os, itinerario, versao ; public string data, finalidade, tecnico, cliente, situacao; public ositinerarioclass(int os, int itinerario, int versao, string data, string finalidade, string tecnico, string cliente, string situacao) { this.os = os; this.itinerario = itinerario; this.versao = versao; this.data = data; this.finalidade = finalidade; this.tecnico = tecnico; this.cliente = cliente; this.situacao = situacao; } public ositinerarioclass(int itinerario) { this.os = -1; this.itinerario = itinerario; this.versao = -1; this.data = ""; this.finalidade = ""; this.tecnico = ""; this.cliente = ""; this.situacao = ""; } }
xml layout
<relativelayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="8dp" > <!-- thumbnail image --> <imageview android:layout_width="56dp" android:layout_height="56dp" android:background="@drawable/ic_os" android:contentdescription="icone" android:id="@+id/thumbnail" /> <!-- movie title --> <textview android:id="@+id/idos" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_aligntop="@+id/thumbnail" android:layout_torightof="@+id/thumbnail" android:text="numero de os" android:textsize="18dp" android:textcolor="@color/colorprimary" android:layout_margintop="5dp" android:textstyle="bold" /> <textview android:id="@+id/solicitacao" android:text="solicitacao" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/idos" android:layout_margintop="5dp" android:layout_torightof="@+id/thumbnail" android:textcolor="#666" android:textsize="@dimen/genre" /> <!-- genre --> <textview android:id="@+id/textoosfunc" android:text="texto da os" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_below="@id/solicitacao" android:layout_margintop="5dp" android:layout_torightof="@+id/thumbnail" android:textcolor="#666" android:textsize="@dimen/genre" /> <!-- release year --> <textview android:id="@+id/datadaos" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparenttop="true" android:text="data da os" android:layout_alignparentright="true" android:textcolor="#666" android:layout_margintop="5dp" android:textsize="@dimen/year" />
the json response server [{"id":42529,"solicitado":"teste","texto":"teste de apresentação para cliente","data":"29/03/2015"},{"id":40546,"solicitado":"rdorigo","texto":"erro liberação cliente sistema/radius","data":"07/02/2015"},{"id":37450,"solicitado":"frank","texto":"cliente solicita visita no local pois alega ","data":"09/12/2014"},{"id":35825,"solicitado":"mirian","texto":"link de 20 megas compartilhados por r$ 189,","data":"04/11/2014"},{"id":35317,"solicitado":"thiago belao(teste de erro pc)","texto":"cliente disse que o tecnico esteve no local ","data":"08/10/2014"},{"id":33150,"solicitado":"andrea","texto":"conexão lenta","data":"31/07/2014"},{"id":22920,"solicitado":"angélica","texto":"referente à desenvolvimento de site para cad","data":"10/11/2013"},{"id":22692,"solicitado":"sumaia","texto":"cliente solicitou alteraÇÕes no site, foi re","data":"27/10/2013"},{"id":22324,"solicitado":"angÉlica","texto":"abrindo o.s para desenvolvimento de site com","data":"05/10/2013"},{"id":22092,"solicitado":"guilherme","texto":"instalar ponto de internet ( air gridg ) no ","data":"18/09/2013"},{"id":21994,"solicitado":"desenvolvimento","texto":"desenvolvimento de web site . r$ 1.100,00 em","data":"11/09/2013"},{"id":21910,"solicitado":"ellus bruno","texto":"desenvolvimento de site gerenciavel r$ 1500,","data":"04/09/2013"},{"id":21846,"solicitado":"fabio","texto":"cliente solicitou manutenção em seu web site","data":"01/09/2013"},{"id":18986,"solicitado":"tcharles","texto":"instalação de sistema operacional, configura","data":"19/02/2013"}]
in view put line on top.
convertview = null;
i hope works, solved problem.
Comments
Post a Comment