java-是否可以在代码内设置单个视图组的内容视图?

java-是否可以在代码内设置单个视图组的内容视图?,第1张

概述我想知道是否可以使用xml布局文件从代码内动态定义视图的内容.启动活动时,我们将其传递给xml布局以与方法调用setContentView(R.layout.main);一起使用.但是是否可以使用xml布局文件来定义动态创建的ViewGroup,例如LinearLayout?我有一个布局xml,其中显示了游戏的得分表.此屏幕上显

我想知道是否可以使用xml布局文件从代码内动态定义视图的内容.启动活动时,我们将其传递给xml布局以与方法调用setContentVIEw(R.layout.main);一起使用.但是是否可以使用xml布局文件来定义动态创建的VIEwGroup,例如linearLayout?

我有一个布局xml,其中显示了游戏的得分表.此屏幕上显示的每个乐谱都需要通过代码动态添加.我知道在代码中可以为此分数创建一个VIEwGroup并用我需要做的所有事情填充一个分数,然后每次对每个分数进行此 *** 作,然后将其全部添加到现有UI中结构,已在xml布局中定义.我想知道的是,是否可以使用另一个xml文件来执行此 *** 作?

例如,布局xml文件:

<linearLayout androID:ID="@+ID/top">  <linearLayout androID:ID="@+ID/column_heading"/></linearLayout>

在另一个xml布局文件中是这样的:

<linearLayout androID:ID="@+ID/row">  <TextVIEw/>  <TextVIEw/>  <TextVIEw/>  <TextVIEw/></linearLayout>

在代码中,我想执行以下 *** 作:

linearLayout top = (linearLayout)findVIEwByID(R.ID.top);for (int i = 0; i < num_of_rows; i++) {  linearLayout row = new linearLayout(this);  row.setContentVIEw(R.layout.row);  //where R.layout.row is the second layout above  // ... dynamically change values as needed  top.addVIEw(row);}

但是.setContentVIEw(…)不是linearLayout的有效方法.还有另一种方法吗?我知道我可以通过代码来完成所有 *** 作,但是那很杂乱,这种方式看起来很整洁和合理.

解决方法:

您应该为此使用LayoutInflater.这是一个简短的例子

linearLayout top = (linearLayout)findVIEwByID(R.ID.top);for (int i = 0; i < num_of_rows; i++) {    LayoutInflater inflater = LayoutInflater.from(this);    linearLayout row = (linearLayout)inflater.inflate(R.layout.row, null);        // ... dynamically change values as needed    top.addVIEw(row);}
总结

以上是内存溢出为你收集整理的java-是否可以在代码内设置单个视图组的内容视图?全部内容,希望文章能够帮你解决java-是否可以在代码内设置单个视图组的内容视图?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1084057.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存