i working on bb os v5.0. have managed list appear on screen. getting data webservice , adding vector
.
now want find out onclick, item clicked , accordingly perform operation. trying display alert. i'm not getting alert.
here code :
in mainscreen , added fieldmanager=new verticalfieldmanager();
, add(fieldmanager);
void fetchalbumsforletter(string letter) { status.show("processing ....", 3000); fieldmanager.deleteall(); verticalfieldmanager top = new verticalfieldmanager(manager.no_horizontal_scroll | manager.no_horizontal_scrollbar | manager.vertical_scroll | manager.vertical_scrollbar | field.use_all_width){ public void paint(graphics graphics) { graphics.setbackgroundcolor(0x00290008); graphics.setcolor(color.white); graphics.clear(); graphics.drawbitmap(0, 0, sha.getwidth(), sha.getheight(), sha, 0, 0); super.paint(graphics); } }; add(top); customlistfield4 list4 = new customlistfield4(null){ protected boolean navigationclick(int status, int time) { getvalue4(); return true; } }; fieldmanager.add(list4); } protected void getvalue4() { field f = getfieldwithfocus(); if (f instanceof listfield) { listfield l = (listfield) f; final int index = l.getselectedindex(); historyitem _contactslist = (historyitem) customlistfield4.val4.elementat(index); final string id = _contactslist.getname(); dialog.alert(id+""); } }
please me resolve this
edit
class customlistfield4 extends listfield implements listfieldcallback { public customlistfield4(vector data) { super(0, listfield.multi_select); final tablerowmanager row = new tablerowmanager() { public void paint(graphics g) { // g.fillrect(0, 0, getwidth(), getheight()); g.setcolor(0x0f3e19b); g.clear(); super.paint(g); } }; bitmap icon = bitmap.getbitmapresource("devil skype.png"); horizontalfieldmanager h=new horizontalfieldmanager(); h.add(new bitmapfield(icon)); //h.add(new bitmapfield(song.getthumb())); h.add(new labelfield(song.getalbumname())); //h.add(new labelfield(row1.getlanguage())); //h.setmargin(0,0,50,0); //dialog.alert(song.getname()); verticalfieldmanager vfm=new verticalfieldmanager(); vfm.add(h); //vfm.add(new labelfield(song.getartist())); row.add(vfm); contacts.addelement(row); } setsize( contacts.size()); } // listfieldcallback implementation public void drawlistrow(listfield listfield, graphics g, int index, int y, int width) { listfield.setrowheight(index,107); customlistfield4 list = (customlistfield4) listfield; tablerowmanager rowmanager = (tablerowmanager) customlistfield4.contacts.elementat(index); rowmanager.drawrow(g, 0, y, width, list.getrowheight()); } public class tablerowmanager extends manager { public tablerowmanager() { super(0); }
you calling getfieldwithfocus() give manager. need leaf field
protected void getvalue4() { field f = getleaffieldwithfocus(); if (f instanceof listfield) { //your code } }
Comments
Post a Comment