gpt4 book ai didi

java - 将相同的布局添加到一个容器android

转载 作者:行者123 更新时间:2023-12-02 13:11:16 24 4
gpt4 key购买 nike

我想在代码中添加相同的布局到相同的布局:

LinearLayout container = (LinearLayout) findViewById(R.id.contactLayout);
for (Info info : contact.getInfo()) {
View header = getLayoutInflater().inflate(R.layout.item_contact_header, null);
TextView headerText = (TextView) header.findViewById(R.id.contactHeader);
headerText.setText(info.getSection());
container.addView(headerText);
for (Row row : info.getRows()) {
View item = getLayoutInflater().inflate(R.layout.item_kontakt_oss, null);
TextView itemHeader = (TextView) item.findViewById(R.id.itemHeader);
TextView itemValue = (TextView) item.findViewById(R.id.itemValue);
ImageView imageIcon = (ImageView) item.findViewById(R.id.imageIcon);
RelativeLayout relativeLayout = (RelativeLayout) item.findViewById(R.id.mainLayout);
itemHeader.setText(row.getHeader());
itemValue.setText(row.getDetails());
imageIcon.setImageResource(getDrawableForItem(row.getActionType()));
relativeLayout.setOnClickListener(view -> {
});
container.addView(item);
}
}

但我收到错误:java.lang.IllegalStateException:指定的子项已经有父项。您必须首先在子级的父级上调用removeView()。

有什么想法可以解决这个问题吗?

最佳答案

您无法添加已经是另一个 View 的 subview 的 View 。在您的情况下, headerText 是 'header' 的子项。您可以在将 View 整体膨胀后添加 View 。

container.addView(header);

这应该有效。

关于java - 将相同的布局添加到一个容器android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43944140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com