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>