通过addView加子View的注意事项

RelativeLayout rl = (RelativeLayout)findViewById(R.id.rl);
TextView tv = (TextView)getInflater().inflate(R.layout.inset, null);
rl.addView(tv);

        inflate一个layout,将其通过addView加入到另一个ViewGroup中,会出现子View的信息无效了。

        为了解决这个问题,需要在inflate时就将子View的信息传入,如下所示:

RelativeLayout rl = (RelativeLayout)findViewById(R.id.rl);
TextView tv = (TextView)getInflater().inflate(R.layout.inset, rl, false);
rl.addView(tv);


        之所以第三个参数用false,是因为要在inflate时,先不将子View加入ViewGroup,而通过后面的addView加入。

你可能感兴趣的:(view)