我想动态地将一些视图添加到已经在XML中定义的LinearLayout
。
我可以在屏幕上添加视图,但它们不会放在右侧LinearLayout
内。
如何从代码中获取对此特定布局的引用,类似于使用View
获取findViewById()
?
答案 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);
快乐编码( - :