GirdLayoutManager不工作,kotlin,android

GirdLayoutManager不工作,kotlin,android,android,android-recyclerview,kotlin,gridlayoutmanager,Android,Android Recyclerview,Kotlin,Gridlayoutmanager,我会尽量简短 我有一个MutableListOf,我想在GirdLayoutManager中显示它我在添加或删除ItemsSale后调用此函数: private fun showListSale(){ RV_sales.layoutManager = GridLayoutManager(context, 4) //RV_sales.hasFixedSize() I've tried with and without this RV_sales.ad

我会尽量简短

我有一个
MutableListOf
,我想在
GirdLayoutManager中显示它
我在添加或删除
ItemsSale后调用此函数

private fun showListSale(){
        RV_sales.layoutManager = GridLayoutManager(context, 4)
        //RV_sales.hasFixedSize() I've tried with and without this
        RV_sales.adapter = SalesAdapter(context, listSale)

        //for (item in listSale) I use this code so I know the MutableListOf<ItemsSale> is working and storing the items properly
          //  Toast.makeText(context,"${item.description}, QTY: ${item.quantity}, $${item.price}, $${item.subtotal}", Toast.LENGTH_SHORT).show()
}
listview_item.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TableRow
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:paddingBottom="1dip"
        android:paddingLeft="1dip"
        android:paddingTop="1dip" >

        <TextView
            android:id="@+id/description"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:gravity="center_vertical"
            android:paddingLeft="5dp"
            android:textColor="#000000" />
    </TableRow>

    <TableRow
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:paddingBottom="1dip"
        android:paddingLeft="1dip"
        android:paddingRight="1dip"
        android:paddingTop="1dip" >

        <TextView
            android:id="@+id/price"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.75"
            android:gravity="right|center_vertical"
            android:paddingRight="5dp"
            android:textColor="#000000" />
    </TableRow>

    <TableRow
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:paddingBottom="1dip"
        android:paddingLeft="1dip"
        android:paddingTop="1dip" >

        <TextView
            android:id="@+id/quantity"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.5"
            android:gravity="center"
            android:textColor="#000000" />
    </TableRow>

    <TableRow
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:paddingBottom="1dip"
        android:paddingLeft="1dip"
        android:paddingRight="1dip"
        android:paddingTop="1dip" >

        <TextView
            android:id="@+id/subtotal"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.75"
            android:gravity="right|center_vertical"
            android:paddingRight="5dp"
            android:textColor="#000000" />
    </TableRow>



</LinearLayout>

您的线性布局似乎覆盖了您的回收视图。试试这个:

<?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"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".MainActivity"
    tools:showIn="@layout/activity_main"
    android:orientation="vertical">

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

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

            <AutoCompleteTextView
                android:id="@+id/ET_search"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="3"
                android:hint="@string/search_hint"
                android:maxLines="1"
                android:layout_marginLeft="@dimen/half_margin"
                android:imeOptions="actionNext"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="4"
                android:paddingLeft="2dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/total"
                    android:textSize="15sp"
                    android:gravity="end"
                    android:layout_weight="0"/>

                <TextView
                    android:id="@+id/TV_price"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="0"
                    android:paddingLeft="2dp"
                    android:text="@string/total_hint"
                    android:textSize="40sp"
                    android:gravity="right"/>

            </LinearLayout>

        </LinearLayout>


        <LinearLayout
            android:baselineAligned="false"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingTop="@dimen/half_margin">

            <TableRow
                android:layout_width="0dp"
                android:layout_height="30dp"
                android:layout_weight="0.5"
                android:paddingBottom="1dip"
                android:paddingLeft="1dip"
                android:paddingTop="1dip" >

                <TextView
                    android:id="@+id/description"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:paddingRight="3dp"
                    android:text="Descripción"/>
            </TableRow>

            <TableRow
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="0.2"
                android:paddingBottom="1dip"
                android:paddingLeft="1dip"
                android:paddingRight="1dip"
                android:paddingTop="1dip" >

                <TextView
                    android:id="@+id/price"
                    android:layout_width="0dp"
                    android:layout_height="30dp"
                    android:layout_weight="0.75"
                    android:gravity="center"
                    android:paddingRight="3dp"
                    android:text="Precio"/>
            </TableRow>

            <TableRow
                android:layout_width="0dp"
                android:layout_height="30dp"
                android:layout_weight="0.2"
                android:paddingBottom="1dip"
                android:paddingLeft="1dip"
                android:paddingTop="1dip" >

                <TextView
                    android:id="@+id/quantity"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="1.5"
                    android:gravity="center"
                    android:paddingRight="3dp"
                    android:text="Cantidad"/>
            </TableRow>

            <TableRow
                android:layout_width="0dp"
                android:layout_height="30dp"
                android:layout_weight="0.2"
                android:paddingBottom="1dip"
                android:paddingLeft="1dip"
                android:paddingTop="1dip" >

                <TextView
                    android:id="@+id/subtotal"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="1.5"
                    android:gravity="center"
                    android:paddingRight="3dp"
                    android:text="Subtotal" />
            </TableRow>

        </LinearLayout>

    </LinearLayout>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/RV_sales"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical"/>

</LinearLayout>


它显示了什么?什么时候调用该方法设置GridLayoutManager?1.它不显示任何内容。。。也许“你什么时候调用该方法设置‘GridLayoutManager’不起作用,因为也许我没有这么做?我只是调用showListSale()我们可以查看您的xml文件吗?@LeviAlbuquerque编辑了我的问题,谢谢!是的!谢谢…您能告诉我如何将itemList与列标题对齐吗?非常感谢!我认为如果您使用RelativeLayout或更好的ConstraintLayout,您可以更好地控制布局,它们可以让您以比L更简单的方式移动视图在早期:)谢谢,我会调查一下……另外……我改为
RV\u sales.layoutManager=LinearLayoutManager(上下文)
它确实做到了这一点,但它只显示了第一个元素,如果我添加了另一个项目,它不会添加一行。它不是被你的屏幕剪切的吗?我不这么认为,因为当我更新一个数量时,它会删除该元素并将+1添加到数量中,然后将其添加到列表中。编辑:哦,你可能是对的……如何告诉它需要另一行?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TableRow
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.5"
        android:paddingBottom="1dip"
        android:paddingLeft="1dip"
        android:paddingTop="1dip" >

        <TextView
            android:id="@+id/description"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="2"
            android:gravity="center_vertical"
            android:paddingLeft="5dp"
            android:textColor="#000000" />
    </TableRow>

    <TableRow
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:paddingBottom="1dip"
        android:paddingLeft="1dip"
        android:paddingRight="1dip"
        android:paddingTop="1dip" >

        <TextView
            android:id="@+id/price"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.75"
            android:gravity="right|center_vertical"
            android:paddingRight="5dp"
            android:textColor="#000000" />
    </TableRow>

    <TableRow
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:paddingBottom="1dip"
        android:paddingLeft="1dip"
        android:paddingTop="1dip" >

        <TextView
            android:id="@+id/quantity"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1.5"
            android:gravity="center"
            android:textColor="#000000" />
    </TableRow>

    <TableRow
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.2"
        android:paddingBottom="1dip"
        android:paddingLeft="1dip"
        android:paddingRight="1dip"
        android:paddingTop="1dip" >

        <TextView
            android:id="@+id/subtotal"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="0.75"
            android:gravity="right|center_vertical"
            android:paddingRight="5dp"
            android:textColor="#000000" />
    </TableRow>



</LinearLayout>
<?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"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".MainActivity"
    tools:showIn="@layout/activity_main"
    android:orientation="vertical">

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

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

            <AutoCompleteTextView
                android:id="@+id/ET_search"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="3"
                android:hint="@string/search_hint"
                android:maxLines="1"
                android:layout_marginLeft="@dimen/half_margin"
                android:imeOptions="actionNext"/>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="4"
                android:paddingLeft="2dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text="@string/total"
                    android:textSize="15sp"
                    android:gravity="end"
                    android:layout_weight="0"/>

                <TextView
                    android:id="@+id/TV_price"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="0"
                    android:paddingLeft="2dp"
                    android:text="@string/total_hint"
                    android:textSize="40sp"
                    android:gravity="right"/>

            </LinearLayout>

        </LinearLayout>


        <LinearLayout
            android:baselineAligned="false"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:paddingTop="@dimen/half_margin">

            <TableRow
                android:layout_width="0dp"
                android:layout_height="30dp"
                android:layout_weight="0.5"
                android:paddingBottom="1dip"
                android:paddingLeft="1dip"
                android:paddingTop="1dip" >

                <TextView
                    android:id="@+id/description"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="2"
                    android:gravity="center"
                    android:paddingRight="3dp"
                    android:text="Descripción"/>
            </TableRow>

            <TableRow
                android:layout_width="0dp"
                android:layout_height="fill_parent"
                android:layout_weight="0.2"
                android:paddingBottom="1dip"
                android:paddingLeft="1dip"
                android:paddingRight="1dip"
                android:paddingTop="1dip" >

                <TextView
                    android:id="@+id/price"
                    android:layout_width="0dp"
                    android:layout_height="30dp"
                    android:layout_weight="0.75"
                    android:gravity="center"
                    android:paddingRight="3dp"
                    android:text="Precio"/>
            </TableRow>

            <TableRow
                android:layout_width="0dp"
                android:layout_height="30dp"
                android:layout_weight="0.2"
                android:paddingBottom="1dip"
                android:paddingLeft="1dip"
                android:paddingTop="1dip" >

                <TextView
                    android:id="@+id/quantity"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="1.5"
                    android:gravity="center"
                    android:paddingRight="3dp"
                    android:text="Cantidad"/>
            </TableRow>

            <TableRow
                android:layout_width="0dp"
                android:layout_height="30dp"
                android:layout_weight="0.2"
                android:paddingBottom="1dip"
                android:paddingLeft="1dip"
                android:paddingTop="1dip" >

                <TextView
                    android:id="@+id/subtotal"
                    android:layout_width="0dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="1.5"
                    android:gravity="center"
                    android:paddingRight="3dp"
                    android:text="Subtotal" />
            </TableRow>

        </LinearLayout>

    </LinearLayout>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/RV_sales"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical"/>

</LinearLayout>