android - Onclicklistener for a programatically created button -


i have looked answer can't seem find one.

i have button has been created programmatically (rather in xml file) , want happen when clicked, show alert or move screen etc.

button code:

button submitbutton = new button(this); submitbutton.setid(99); submitbutton.settext("submit"); 

listener code:

view submitbuttonlistener = findviewbyid(99); submitbuttonlistener.setonclicklistener(this); 

so have set listner find button error

the method setonclicklistener(view.onclicklistener) in type view not applicable arguments (registerscreen) registerscreen.java /accessibleapp/src/org/project/accessible line 217 java problem

i think may fact don't have setcontentview(); @ start of class because whole page written programmatically (because need add checkboxes programmatically).

here code below if helps:

public class registerscreen extends activity {     @override     protected void oncreate(bundle savedinstancestate) {          super.oncreate(savedinstancestate);          //initiate database qureied         databasedata db = new databasedata(this);         db = new databasedata(this);         try {             db.createdatabase();         }          catch (ioexception ioe) {             throw new error("unable create database");         }         try {              db.opendatabase();         }         catch(sqlexception sqle){             throw sqle;         }         sqlitedatabase rdb = db.getreadabledatabase();          //main layout of screen              linearlayout layoutmain = new linearlayout(this);         layoutmain.setorientation(linearlayout.vertical);         layoutmain.setbackgroundcolor(color.white);          //linear layout banner         linearlayout banner = new linearlayout(this);         banner.setorientation(linearlayout.vertical);         banner.setbackgroundcolor(color.rgb(17, 168, 191));          //layout params height , width         layoutparams bannerparams = new android.widget.linearlayout.layoutparams(                 android.widget.linearlayout.layoutparams.fill_parent, 40);         banner.setlayoutparams(bannerparams);          //banner text         textview bannertext = new textview(this);         bannertext.settext("register");         bannertext.settextcolor(color.white);         banner.addview(bannertext);         bannertext.settextsize(24);         bannertext.setgravity(gravity.center);          //add banner layout main layout         layoutmain.addview(banner);          //scroll view rest of screen         scrollview sv = new scrollview(this);           //table layout align items register form items         tablelayout tl = new tablelayout(this);          //table rows put items on left , right sides of page         tablerow usernametr = new tablerow(this);          //username label         textview usernamel = new textview(this);         usernamel.settext("username:");         usernamel.settextcolor(color.black);         usernametr.addview(usernamel);          //username textbox         edittext usernametb = new edittext(this);         usernametb.setwidth(250);         usernametr.addview(usernametb);          tl.addview(usernametr);          tablerow emailtr = new tablerow(this);          //email label         textview emaill = new textview(this);         emaill.settext("email:");         emaill.settextcolor(color.black);         emailtr.addview(emaill);          //email textbox         edittext emailtb = new edittext(this);         emailtb.setwidth(250);         emailtr.addview(emailtb);            tl.addview(emailtr);          tablerow forenametr = new tablerow(this);          //forename label         textview forenamel = new textview(this);         forenamel.settext("forename:");         forenamel.settextcolor(color.black);         forenametr.addview(forenamel);          //forename textbox         edittext forenametb = new edittext(this);         forenametb.setwidth(250);         forenametr.addview(forenametb);          tl.addview(forenametr);          tablerow surnametr = new tablerow(this);          //surname label         textview surnamel = new textview(this);         surnamel.settext("surname:");         surnamel.settextcolor(color.black);         surnametr.addview(surnamel);          //surname textbox         edittext surnametb = new edittext(this);         surnametb.setwidth(250);         surnametr.addview(surnametb);            tl.addview(surnametr);          tablerow streettr = new tablerow(this);          //street label         textview streetl = new textview(this);         streetl.settext("street:");         streetl.settextcolor(color.black);         streettr.addview(streetl);          //street textbox         edittext streettb = new edittext(this);         streettb.setwidth(250);         streettr.addview(streettb);          tl.addview(streettr);          tablerow postcodetr = new tablerow(this);          //postcode label         textview postcodel = new textview(this);         postcodel.settext("postcode:");         postcodel.settextcolor(color.black);         postcodetr.addview(postcodel);          //postcode textbox         edittext postcodetb = new edittext(this);         postcodetb.setwidth(250);         postcodetr.addview(postcodetb);          tl.addview(postcodetr);          tablerow citytr = new tablerow(this);                 //city label         textview cityl = new textview(this);         cityl.settext("city:");         cityl.settextcolor(color.black);         citytr.addview(cityl);          //city textbox         edittext citytb = new edittext(this);         citytb.setwidth(250);         citytr.addview(citytb);          tl.addview(citytr);          tablerow countytr = new tablerow(this);          //county label         textview countyl = new textview(this);         countyl.settext("county:");         countyl.settextcolor(color.black);         countytr.addview(countyl);          //county textbox         edittext countytb = new edittext(this);         countytb.setwidth(250);         countytr.addview(countytb);          tl.addview(countytr);          //add table layout scroll view          //country dropdown           textview cattitle = new textview(this);         cattitle.settext("\nplease select categories affect you:\n");         cattitle.settextcolor(color.black);         tl.addview(cattitle);         //categories         //categories title          string[] cols =  {"_id", "cat_name"}; //columns searched         cursor cursor = rdb.query("aa_category", cols, null, null, null, null, null);   // save query db         while (cursor.movetonext()) {              checkbox catcb = new checkbox(this);             string name = cursor.getstring(1);             int id = cursor.getint(0);             catcb.setid(id);             catcb.settext("\n"+name+"\n");             catcb.settextcolor(color.black);             tl.addview(catcb);         }         //add field new category text field become active on clicking checkbox         button submitbutton = new button(this);         submitbutton.setid(99);         submitbutton.settext("submit");          view submitbuttonlistener = findviewbyid(99);          submitbuttonlistener.setonclicklistener(this);          tl.addview(submitbutton);          //add table layout scroll view         sv.addview(tl);         //add scroll view main layout         layoutmain.addview(sv);         this.setcontentview(layoutmain);      } } 

your activity isn't implementing view.onclicklistener. change class definition to

public class registerscreen extends activity implements view.onclicklistener 

and add

public void onclick(view v) {  } 

to activity class.


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -