android - Getting only last item of List View -
i've parsing xml inside listfragment, it's working fine onlistitemclick throwing last item, i've searched did not found matches case.
this inside onpostexecute:
        xmldomparser parser = new xmldomparser();         inputstream stream = new bytearrayinputstream(xml.getbytes());         document doc = parser.getdocument(stream);          nodelist nodelist = doc.getelementsbytagname(key_item);          newss = new arraylist<news>();         news = null;         (int = 0; < nodelist.getlength(); i++) {             news = new news();             element e = (element) nodelist.item(i);             news.setid(parser.getvalue(e, key_id));             news.setdate(parser.getvalue(e, key_date));             news.settitle(parser.getvalue(e, key_title));             news.setdescription(parser.getvalue(e, key_desc));             newss.add(news);         }          listviewadapter = new newsadapter(getactivity(), newss);         getlistview().setadapter(listviewadapter);          pdialog.dismiss();   onitemclick inside same fragment:
`@override public void onlistitemclick(listview l, view v, int position, long id) {     toast.maketext(getactivity(), "list: "+news.getid(), toast.length_short).show();     intent in = new intent(getactivity(), singlenewsactivity.class);     in.putextra(key_id, news.getid());     in.putextra(key_date, news.getdate());     in.putextra(key_title, news.gettitle());     in.putextra(key_desc, news.getdescription());     startactivity(in); }`   my newsadapter:
public class newsadapter extends baseadapter {     activity context;     list<news> newss;     public newsadapter (activity context, list<news> newss) {         this.context = context;         this.newss = newss;     }
// private view holder class private class viewholder {     textview tvnewsdate;     textview tvnewstitle; }  public int getcount() {     return newss.size(); }  public object getitem(int position) {     return newss.get(position); }  public long getitemid(int position) {     return newss.indexof(getitem(position)); }  public view getview(int position, view convertview, viewgroup parent) {     viewholder holder;     layoutinflater inflater = context.getlayoutinflater();      if (convertview == null) {         convertview = inflater.inflate(r.layout.news_item, null);         holder = new viewholder();         holder.tvnewsdate = (textview) convertview.findviewbyid(r.id.tvnewsdate);         holder.tvnewstitle = (textview) convertview.findviewbyid(r.id.tvnewstitle);         convertview.settag(holder);     } else {         holder = (viewholder) convertview.gettag();     }      news newss = (news) getitem(position);      holder.tvnewsdate.settext(newss.getdate());     holder.tvnewstitle.settext(newss.gettitle());      return convertview; }   }`
imageview setonclicklistner inside other adapter same problem:
holder.ivgps.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                 uri gmmintenturi = uri.parse("google.navigation:q=" + parkcoordinates);                 intent mapintent = new intent(intent.action_view, gmmintenturi);                 mapintent.setpackage("com.google.android.apps.maps");                 context.startactivity(mapintent);             }         });
thank you!
please try news = newss.get(position) , use in onlistitemclick may work..
  `@override public void onlistitemclick(listview l, view v, int position, long id) {   news = newss.get(position)     intent in = new intent(getactivity(), singlenewsactivity.class);     in.putextra(key_id, news.getid());     in.putextra(key_date, news.getdate());     in.putextra(key_title, news.gettitle());     in.putextra(key_desc, news.getdescription());     startactivity(in); }`      
Comments
Post a Comment