片段在我的回收站视图中表现得很奇怪
Posted
技术标签:
【中文标题】片段在我的回收站视图中表现得很奇怪【英文标题】:Fragment is acting weird in my recyclerview 【发布时间】:2017-04-04 03:27:48 【问题描述】:不知何故,我似乎找不到原因,我的片段的行为与我预期的不同。
我想要完成的事情:
我在自动取款机上得到什么:
我的问题 - 我怎样才能在这里达到目标 - 在我的情况下,我的数据库示例中的文本与几个蓝色方块相邻。
XML:
activity_main
rec_item
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_
android:layout_
android:layout_margin="4dp">
<ImageView
android:id="@+id/category_image"
android:layout_
android:layout_
android:adjustViewBounds="true"
android:contentDescription="@null"
android:scaleType="centerCrop"
android:background="#b7b7ff"/>
<TextView
android:id="@+id/name"
android:layout_
android:layout_
android:layout_gravity="bottom"
android:minHeight="48dp"
android:paddingBottom="16dp"
android:paddingLeft="16dp"
android:paddingRight="16dp"
android:paddingTop="16dp"
android:background="#E237474F"
style="@style/TextAppearance.AppCompat.Subhead.Inverse"
tools:text="TEST"/>
</FrameLayout>
rec_list
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/recycler_view"
android:layout_
android:layout_
android:orientation="vertical"/>
【问题讨论】:
【参考方案1】:将cursor.getString(0)
更改为cursor.getString(cursor.getColumnIndex("name"));
您假设name
是光标中的第零列,它可能不是--_id
似乎是第零列。以上是获取特定列的值的正确方法。 (或者,如果您只在表中使用select name
,或者如果您像select name, _id, ...
那样明确地对列进行排序,那么您现有的代码也可以工作。)
通过此更改,您应该会看到类别名称,尽管您将有许多重复项,因为每次创建 MainActivity
时,它都会在表中再插入四行。由于name
列上没有任何uniqueness constraint,SQLite 很乐意在新行中再次插入这些名称。
最后,你的ImageView
还没有源图像,而且你还没有给它明确的尺寸,所以我怀疑它的宽度和高度都为零。鉴于您想制作一个网格,match_parent
似乎无论如何都不适用于项目布局的根元素(至少对于高度而言)。您可以考虑使用 PercentFrameLayout
作为项目布局的根,以便您可以指定纵横比。
【讨论】:
1.如何跳过重复项?我尝试使用“name TEXT unique”,但我仍然看到它们。 2.不知道添加''src''会在界面上产生这样的差异。现在我得到了 - img.exs.lv/e/z/ezeliitis/Screenshot_2016-11-20-23-06-14.png,但我仍然需要在每张图片周围添加一个填充?我尝试使用 PercentFrameLayout,但它没有给我任何成功。 @ThingsILove1996 如果更改了create table
sql 语句,则需要删除现有数据库(以便创建新数据库)或执行数据库版本升级。更改 java 代码中的create table
sql 不会影响已存储的任何数据。
Karakuri - 谢谢。 2. 在每个片段周围获得一些填充呢?我应该如何处理它?
@ThingsILove1996 在您的项目布局中添加填充,或使用不绘制任何内容的 ItemDecoration。以上是关于片段在我的回收站视图中表现得很奇怪的主要内容,如果未能解决你的问题,请参考以下文章