android - cannot create editTexts at runtime -
i want add 3 edittext adjacent each other when user gives focus view. want when user taps first edittext, new set of 3 edittexts created below existing ones.
this code returning error(nullpointerexception)
@override public void onfocuschange(view v, boolean hasfocus) { // todo auto-generated method stub switch(v.getid()){ // 5 id of view case 5: main=new relativelayout(this); mainparams=new relativelayout.layoutparams(layoutparams.wrap_content, layoutparams.wrap_content ); main.setlayoutparams(mainparams); //mainlayout linearlayout items[no]=new edittext(this); rates[no]=new edittext(this); quants[no]=new edittext(this); items[no].sethint("enter item name"); rates[no].sethint("rate"); quants[no].sethint("quantity"); items[no].setid(id++); rates[no].setid(id++); quants[no].setid(id++); relativelayout.layoutparams etparams=new relativelayout.layoutparams(layoutparams.wrap_content, layoutparams.wrap_content); relativelayout.layoutparams rparams=new relativelayout.layoutparams(layoutparams.wrap_content, layoutparams.wrap_content); etparams.addrule(relativelayout.align_parent_left); rparams.addrule(relativelayout.align_right); items[no].setlayoutparams(etparams); rates[no].setlayoutparams(rparams); quants[no].setlayoutparams(rparams); mainlayout.addview(main); no++; }
try this,
// 5 id of view case 5: main=new relativelayout(this); mainparams=new relativelayout.layoutparams(layoutparams.wrap_content, layoutparams.wrap_content ); main.setlayoutparams(mainparams); //mainlayout linearlayout items[no]=new edittext(this); rates[no]=new edittext(this); quants[no]=new edittext(this); relativelayout.layoutparams etparams=new relativelayout.layoutparams(layoutparams.wrap_content, layoutparams.wrap_content); relativelayout.layoutparams rparams=new relativelayout.layoutparams(layoutparams.wrap_content, layoutparams.wrap_content); etparams.addrule(relativelayout.align_parent_left); rparams.addrule(relativelayout.align_right); items[no].setlayoutparams(etparams); rates[no].setlayoutparams(rparams); quants[no].setlayoutparams(rparams); mainlayout.addview(main); items[no].sethint("enter item name"); rates[no].sethint("rate"); quants[no].sethint("quantity"); items[no].setid(id++); rates[no].setid(id++); quants[no].setid(id++); no++; }
Comments
Post a Comment