Android:从代码添加视图到特定的布局

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

我能够添加视图到屏幕上,但是他们不被放置在正确的LinearLayout内部。

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

Solutions Collecting From Web of "Android:从代码添加视图到特定的布局"

正如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类。 这使得获取对布局的引用就像获得对另一个View的引用一样容易。

这应该工作:

 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); 

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

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

快乐编码( – :