如何在Android Studio中创建多个cardview

如何在Android Studio中创建多个cardview,android,android-cardview,Android,Android Cardview,我正在从事这个项目,我正在设计的布局,特别是在添加一个产品,处理多张卡 我正在工作的android studio的SDKVersion为28。我试着从其他帖子中找到一些答案,但没有一个有用。此外,我在YouTube上看到一些教程,你必须使用itemAdapter,但它只会显示具有相同信息的卡片。我的不一样 下面我设计的图片就是我想要的。但是,在执行下面的“我的代码”之后,当我向下滚动第二张图片上显示的应用程序时,它只显示第一个CardView,而没有显示任何关于“折扣”CardView的内容

我正在从事这个项目,我正在设计的布局,特别是在添加一个产品,处理多张卡

我正在工作的android studio的SDKVersion为28。我试着从其他帖子中找到一些答案,但没有一个有用。此外,我在YouTube上看到一些教程,你必须使用itemAdapter,但它只会显示具有相同信息的卡片。我的不一样

下面我设计的图片就是我想要的。但是,在执行下面的“我的代码”之后,当我向下滚动第二张图片上显示的应用程序时,它只显示第一个CardView,而没有显示任何关于“折扣”CardView的内容

活动添加产品.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".AddProductActivity"
    android:orientation="vertical"
    android:background="@color/colorWhiteBG">

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.CardView
            android:id="@+id/cv_prod"
            android:layout_width="600dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="@color/colorWhite"
            android:padding="10dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:padding="20dp">

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:layout_marginTop="10dp">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Product Name"
                        android:textStyle="bold"
                        android:textColor="@color/colorDarkText"
                        android:textSize="@dimen/card_title"/>

                    <EditText
                        android:id="@+id/editTextProdName"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:inputType="textAutoComplete"
                        android:padding="5dp"/>
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="vertical"
                    android:layout_marginTop="10dp">

                    <TextView
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:text="Category"
                        android:textColor="@color/colorDarkText"
                        android:textSize="@dimen/card_title"
                        android:textStyle="bold"/>

                    <Spinner
                        android:id="@+id/spinnerCategory"
                        android:layout_width="match_parent"
                        android:layout_height="50dp"
                        android:entries="@array/prodcategorylist"
                        android:padding="5dp"></Spinner>

                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:layout_marginTop="10dp">

                    <CheckBox
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:buttonTint="@color/colorPrimary"
                        android:text="This item is available for sale."/>
                </LinearLayout>

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

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:orientation="vertical"
                        android:layout_marginTop="10dp"
                        android:paddingRight="10dp">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Condition"
                            android:textStyle="bold"
                            android:textSize="@dimen/card_title"
                            android:textColor="@color/colorDarkText"/>
                        <Spinner
                            android:id="@+id/spinnerCondition"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:entries="@array/conditionlist"
                            android:padding="5dp"></Spinner>
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:orientation="vertical"
                        android:layout_marginTop="10dp"
                        android:paddingLeft="10dp">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Item Count"
                            android:textSize="@dimen/card_title"
                            android:textColor="@color/colorDarkText"
                            android:textStyle="bold"/>

                        <EditText
                            android:id="@+id/editTextConditionCount"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:padding="5dp"
                            android:inputType="number"/>
                    </LinearLayout>
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text=""/>
                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Quantity of an item according to it's condition."
                        android:textSize="6dp"
                        android:layout_marginLeft="20dp"/>

                </LinearLayout>

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

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:orientation="vertical"
                        android:layout_marginTop="10dp"
                        android:paddingRight="10dp">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Expiration Date"
                            android:textStyle="bold"
                            android:textSize="@dimen/card_title"
                            android:textColor="@color/colorDarkText"/>
                        <EditText
                            android:id="@+id/spinnerExpiration"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:inputType="date"
                            android:padding="5dp"/>
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:orientation="vertical"
                        android:layout_marginTop="10dp"
                        android:paddingLeft="10dp">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Item Count"
                            android:textSize="@dimen/card_title"
                            android:textColor="@color/colorDarkText"
                            android:textStyle="bold"/>

                        <EditText
                            android:id="@+id/editTextExpCount"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:padding="5dp"
                            android:inputType="number"/>
                    </LinearLayout>
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text=""/>
                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="Quantity of an item according to it's expiration date."
                        android:textSize="6dp"
                        android:layout_marginLeft="20dp"/>
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:layout_marginTop="10dp">

                    <ImageView
                        android:id="@+id/imageaddBtn1"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:src="@drawable/ic_add_circle_black_24dp"
                        android:tint="@color/colorPrimary" />

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:paddingLeft="10dp"
                        android:text="ADD EXPIRATION DATE"
                        android:textColor="@color/colorDarkText" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/soldbyandunitlayout"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:layout_marginTop="10dp"
                    android:layout_gravity="center">

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:orientation="horizontal"
                        android:paddingRight="10dp">

                        <TextView
                            android:layout_width="wrap_content"
                            android:layout_height="wrap_content"
                            android:text="Sold by"
                            android:textColor="@color/colorDarkText"
                            android:textSize="@dimen/card_title"
                            android:textStyle="bold"
                            android:layout_gravity="center"/>

                        <RadioGroup
                            android:id="@+id/radioGroupSoldBy"
                            android:layout_width="0dp"
                            android:layout_height="wrap_content"
                            android:layout_weight="1"
                            android:orientation="horizontal"
                            android:layout_gravity="center"
                            android:paddingLeft="10dp">

                            <RadioButton
                                android:id="@+id/radioBtnEach"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:text="@string/stringEach"
                                android:buttonTint="@color/colorPrimary"/>

                            <RadioButton
                                android:id="@+id/radioBtnWeight"
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:layout_marginLeft="10dp"
                                android:text="@string/stringWeight"
                                android:buttonTint="@color/colorPrimary"/>

                        </RadioGroup>

                    </LinearLayout>
                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:orientation="vertical"
                        android:paddingLeft="10dp">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Unit"
                            android:textColor="@color/colorDarkText"
                            android:textSize="@dimen/card_title"
                            android:textStyle="bold"/>

                        <Spinner
                            android:id="@+id/spinnerSoldbyUnit"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:entries="@array/unitlist"
                            android:padding="5dp"></Spinner>
                    </LinearLayout>
                </LinearLayout>

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

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:orientation="vertical"
                        android:layout_marginTop="10dp"
                        android:paddingRight="10dp">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Price"
                            android:textStyle="bold"
                            android:textSize="@dimen/card_title"
                            android:textColor="@color/colorDarkText"/>
                        <EditText
                            android:id="@+id/editTextPrice"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:inputType="numberDecimal"
                            android:hint="0.00"
                            android:padding="5dp"/>
                    </LinearLayout>

                    <LinearLayout
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:orientation="vertical"
                        android:layout_marginTop="10dp"
                        android:paddingLeft="10dp">

                        <TextView
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="QR Code"
                            android:textSize="@dimen/card_title"
                            android:textColor="@color/colorDarkText"
                            android:textStyle="bold"/>

                        <EditText
                            android:id="@+id/editTextQRCode1"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:padding="5dp"
                            android:inputType="text"/>
                    </LinearLayout>
                </LinearLayout>
            </LinearLayout>
        </android.support.v7.widget.CardView>
    </ScrollView>

    <ScrollView
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.CardView
            android:id="@+id/cv_discounts"
            android:layout_width="600dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:background="@color/colorWhite"
            android:padding="10dp">

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical"
                android:padding="15dp">

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:text="Discounts"
                    android:textSize="@dimen/card_title_name"
                    android:textColor="@color/colorDarkText"
                    android:textStyle="bold"
                    android:layout_marginTop="10dp"/>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal"
                    android:layout_marginTop="15dp">

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="In Stock"
                        android:textStyle="bold"
                        android:textColor="@color/colorDarkText"
                        android:textSize="@dimen/card_title" />

                    <TextView
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:text="ROP"
                        android:textColor="@color/colorDarkText"
                        android:textSize="@dimen/card_title"
                        android:textStyle="bold"/>
                </LinearLayout>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal">

                    <EditText
                        android:id="@+id/editTextProdInStock"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:inputType="number"
                        android:hint="0"/>

                    <EditText
                        android:id="@+id/editTextProdVal"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:inputType="number"
                        android:hint="0"/>
                </LinearLayout>
            </LinearLayout>

        </android.support.v7.widget.CardView>
    </ScrollView>

</LinearLayout>


使用ScrollView作为根布局,将LinearLayout作为ScrollView的子布局。仅使用1个ScrollView并将您的CardView包装到任何容器中。您好,我尝试了您的所有建议,但我的应用程序现在突然没有响应。还有其他建议吗?你不想对ConstraintLayout这样做吗?可以为您重构代码。无需创建适配器。只是硬编码而已。正如其他成员所说,创建一个ScrollView,并在其中放置两个具有所需布局的CardView*在当前的xml代码中,您有两个scrollview(记住scrollview是父视图,并且只有一个)