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

Eri*_*rik 23 layout android

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

我可以在屏幕上添加视图,但它们并没有放在右边的"内部" LinearLayout.

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

Jan*_*usz 45

正如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);
Run Code Online (Sandbox Code Playgroud)

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


Mac*_*rse 22

这应该工作:

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);
Run Code Online (Sandbox Code Playgroud)