android - ListView with custom adapter, inside a Fragment doesn't fire onItemClick event -
i have viewprovider class fragment content, returns listview 1 of fragments. listview has custom adapter extending baseadapter class. when try implement item click listener, doesn't work. have code listener:
lv.setonitemclicklistener(new listview.onitemclicklistener() { @override public void onitemclick(adapterview<?> a, view vi, int pos, long id) { try { object o = lv.getitematposition(pos); event obj_itemdetails = (event) o; toast.maketext(context, "you have chosen : " + " " + obj_itemdetails.getname(), toast.length_long).show(); log.d("xxx", "output: "+obj_itemdetails.getname()); } catch(exception e) { log.d(log.tag, "something wrong..."); } } });
...not exceptions fires. in same viewprovider class, i've added list simpleadapter, , works fine. initialize list same:
eventadapter sta = new eventadapter(context, events); final listview lv = new listview( context ); lv.settextfilterenabled(true); lv.setadapter(sta);
and other one:
final listview v = new listview( context ); string[] = new string[] { "str" }; int[] = new int[] { android.r.id.text1 }; list<map<string, string>> items = new arraylist<map<string, string>>(); ( int = 0; < 20; i++ )...//set items here simpleadapter adapter = new simpleadapter( context, items, android.r.layout.simple_list_item_1, from, ); v.setadapter( adapter );
what missing, should look?
here eventadapter:
public class eventadapter extends baseadapter { private layoutinflater minflater; private list<event> items = new arraylist<event>(); context ctx; public eventadapter(context context, list<event> items) { minflater = layoutinflater.from(context); this.items = items; this.ctx = context; } public int getcount() { return items.size(); } public event getitem(int position) { return items.get(position); } public long getitemid(int position) { return position; } public view getview(int position, view convertview, viewgroup parent) { viewholder holder; final event s = items.get(position); if (convertview == null) { convertview = minflater.inflate(r.layout.list_item, null); holder = new viewholder(); holder.name = (textview) convertview.findviewbyid(r.id.eventtitle); holder.timestamp = (textview) convertview.findviewbyid(r.id.eventtime); holder.location = (textview) convertview.findviewbyid(r.id.eventlocation); holder.pic = (imageview) convertview.findviewbyid(r.id.eventlogo); convertview.settag(holder); } else { holder = (viewholder) convertview.gettag(); } holder.name.settext(s.getname()); holder.timestamp.settext(s.gettimestamp()); holder.location.settext(s.getlocation()); if (s.getimage() != null) { holder.pic.setimagebitmap(s.getimage()); } else { // default image holder.pic.setimageresource(r.drawable.ic_launcher); } return convertview; } static class viewholder { textview name; textview timestamp; textview location; imageview pic; }
}
listview on item click listener not fire if have focussable items inside custom list row.that if have button or progrees bar or control takes focus,onitemclick not fire
Comments
Post a Comment