gpt4 book ai didi

android - 如何在其他布局中 inflatedView ?

转载 作者:行者123 更新时间:2023-11-29 20:04:32 25 4
gpt4 key购买 nike

enter image description here

我必须创建一个包含框的水平 ScrollView 。每个盒子最多只能包含三个项目。所以我的逻辑是:

  1. 在水平 ScrollView 中创建框列表

    <HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fillViewport="true">
    <LinearLayout
    android:id="@+id/ll_list"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    </LinearLayout>
    </HorizontalScrollView>
  2. 创建 box.xml

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <LinearLayout
    android:id="@+id/ll_box"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    </LinearLayout>
    </LinearLayout>
  3. 为项目(在框中)创建 item.xml

在Java中例如,有 7 件元素,所以我需要 3 个箱子。这是我的代码,

public void initList(){
View box = getLayoutInflater().inflate(R.layout.box, null);
LinearLayout ll_box = (LinearLayout)box.findViewById(R.id.ll_box);
int item = 7;
int idx = item/3; //idx is a number of boxes
if (item%3!=0)
idx++;

for (int i=0; i<idx; i++ ){
for(int j=0; j<3; j++){
ll_box.addView(LayoutInflater.from(this).inflate(R.layout.item, null));
}
ll_list.addView(ll_box);
}
}

问题是我在ll_list.addView(ll_box);java.lang.IllegalStateException: 指定的 child 已经有一个 parent 。您必须先对 child 的 parent 调用 removeView()。

如果你不明白这个问题,请问我。我真的需要你的帮助。谢谢。

最佳答案

您必须在每个步骤上创建一个新的 View

像这样:

for (int i=0; i<idx; i++ ){

View box = getLayoutInflater().inflate(R.layout.box, null);
LinearLayout ll_box = (LinearLayout)box.findViewById(R.id.ll_box);

for(int j=0; j<3; j++){
ll_box.addView(LayoutInflater.from(this).inflate(R.layout.item, null));
}
ll_list.addView(box); //here add `box` instead of `ll_box`!!
}

关于android - 如何在其他布局中 inflatedView ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35839862/

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