Android:从代码中向特定布局添加视图

时间:2010-08-13 14:05:03

标签: android layout

我想动态地将一些视图添加到已经在XML中定义的LinearLayout

我可以在屏幕上添加视图,但它们不会放在右侧LinearLayout内。

如何从代码中获取对此特定布局的引用,类似于使用View获取findViewById()

3 个答案:

答案 0 :(得分:43)

正如Marcarse所说,你可以做到

ViewGroup layout = (ViewGroup) findViewById(R.id.your_layout_id);
TextView tv = new TextView(this);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tv.setText("Added tv");
layout.addView(tv);

LinearLayout类扩展ViewGroup,它本身扩展了View类。这使得获取对布局的引用就像获取对另一个视图的引用一样简单。

答案 1 :(得分:21)

这应该有效:

LinearLayout layout = (LinearLayout) findViewById(R.id.your_layout_id);
TextView tv = new TextView(this);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tv.setText("Added tv");
layout.addView(tv);

答案 2 :(得分:0)

更好的版本: 在activity / Fragment中添加另一个布局

LayoutInflater mInflater = LayoutInflater.from(getActivity());
View mProgressBarFooter = mInflater.inflate(R.layout.spinner, null, false);
textLoader = (TextView) mProgressBarFooter.findViewById(R.id.footer_label);

快乐编码( - :