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

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

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

例如,布局xml文件:

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

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

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

}

标签:layout,viewgroup,xml,java,android

来源: https://codeday.me/bug/20191102/1991920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值