android - How to use addRule() with a tag dynamically inside a loop it takes Exception when inflating View? -
i have loop add variable number of views relativelayout, , want set rules below
, problem i'm using tags name objects dynamically, , use addrule()
method need use id, tried set id every time loop runned , it's not first time.
this code:
for(int = 1; <= knumberofviews; i++){ view = new myview(context); relativelayout.layoutparams params = new layoutparams(kviewwidth, kviewheight); params.setmargins(kmarginleft, kmargintop, kmarginright, kmarginbottom); params.addrule(center_horizontal); if (i != 1){ myview view = (myview)view.findviewwithtag(i-1); view.setid(i); params.addrule(relativelayout.below, view.getid()); } view.settag(i); view.setbackgroundcolor(color.green); system.out.println("view " + +" added correctly"); addview(view, params); }
how can solve it?
edit:
05-18 14:57:19.549: e/androidruntime(5500): fatal exception: main 05-18 14:57:19.549: e/androidruntime(5500): java.lang.runtimeexception: unable start activity componentinfo{me.gabrielesteban.app/me.gabrielesteban.app.myrelativelayouttest}: android.view.inflateexception: binary xml file line #7: error inflating class me.gabrielesteban.app.gd.myrelativelayout 05-18 14:57:19.549: e/androidruntime(5500): @ android.app.activitythread.performlaunchactivity(activitythread.java:2307) 05-18 14:57:19.549: e/androidruntime(5500): @ android.app.activitythread.handlelaunchactivity(activitythread.java:2357) 05-18 14:57:19.549: e/androidruntime(5500): @ android.app.activitythread.access$600(activitythread.java:153)
edit 2:
i think problem in following line myview view = (myview)view.findviewwithtag(i-1);
, line correct?
i reviewed code again , read how call findviewwithtag in oncreate() method of activity? , see when call findviewwithtag() method put same object i'm finding before method, result don't find object inside object tag, thing have delete part.
myview view = (myview)view.findviewwithtag(i-1); //bad way find view myview view = (myview)findviewwithtag(i-1); //good way find view tag
Comments
Post a Comment