android - Trying to understand Relative Layouts -


brand new android dev, , i'm trying figure out whats broken small piece of code.

i have relative layout (which believe suits needs best). have 2 buttons on row specified in activity_main.xml file. when press 1 of buttons i'd have edittext field , button repeatedly appear on same row, below last set of items. kinda this:

button button

|__| button

my function adds edittext expect on first tap end row of 3 buttons this:

button button button

|__|

code below, missing relative layouts? accessing elements in horribly botched way even?

//get main layout defined in activity_main.xml         final relativelayout rl = (relativelayout)this.findviewbyid(r.id.rootlayout);           //setup rules         final relativelayout.layoutparams below = new relativelayout.layoutparams(viewgroup.layoutparams.wrap_content, layoutparams.wrap_content);         final relativelayout.layoutparams right = new relativelayout.layoutparams(viewgroup.layoutparams.wrap_content, layoutparams.wrap_content);                newtimer.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                  below.addrule(relativelayout.below,rl.getchildat(rl.getchildcount()-1).getid() );                  edittext timername = new edittext(mainactivity.this);                 button btnaddnewtimer = new button(mainactivity.this);                  timername.settext("new timer");                 timername.setvisibility(view.visible);                 timername.setlayoutparams(below);                  rl.addview(timername);                  right.addrule(relativelayout.right_of,rl.getchildat(rl.getchildcount()-1).getid());                  btnaddnewtimer.settext("add");                 btnaddnewtimer.setvisibility(view.visible);                 btnaddnewtimer.setlayoutparams(right);                  rl.addview(btnaddnewtimer);              }         }); 

i don't trust getchildcount()-1).getid() last added view.

also, need specify layout parameter on want new item vertically. need add rule right line top button.

i'd recommend id of added view

            timername.settext("new timer");             timername.setvisibility(view.visible);             timername.setlayoutparams(below);             timername.setid(39);//or other unique id in range             rl.addview(timername);               right.addrule(relativelayout.right_of, timername.getid());             right.addrule(relativelayout.align_top,timername.getid());              btnaddnewtimer.settext("add");             btnaddnewtimer.setvisibility(view.visible);             btnaddnewtimer.setlayoutparams(right); 

Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

How to get multiresult with multicondition in Sql Server -