Я только начал работать с Android Studio и пытаюсь создать свое первое собственное приложение.Чтобы получить преимущество, я объединил некоторые учебники, которые мне понравились, и у меня возникла проблема.
В своей основной деятельности я использую CardView в прокручиваемом GridView. Поскольку у меня более 40 карт вмой CardView У меня есть множество кадров для прокрутки.
Проблема возникает с этими многими картами, так как они иногда неправильно отображаются.Я нашел обходной путь для этого, установив другое Gridview (скажем, maingrid2) под моим использованным Gridview (maingrid), которое даже не отображается на моем экране.
С обходным путем это выглядит так: Gridview работает, но имеет обходной путь
Если я удаляю мой обходной путь [delete maingrid2], это выглядит так: Gridviewпо какой-то причине .
Так что мне нужен еще один GridView, который делает что-то «связанное» с кодом.Можете ли вы объяснить мне, почему это работает или правильное исправление, чтобы оно работало нормально?
Вот мой код:
<ScrollView 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="edmt.dev.androidgridlayout.MainActivity"
android:fillViewport="true">
<!--android:background="@drawable/bg"-->
<LinearLayout
android:orientation="vertical"
android:fillViewport="true"
android:weightSum="10"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<GridLayout
android:id="@+id/mainGrid"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="9.5"
android:alignmentMode="alignMargins"
android:columnCount="3"
android:rowCount="2"
android:columnOrderPreserved="false"
android:padding="0dp"
android:fillViewport="true"
>
<!--Cardviews-->
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="175dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
app:cardBackgroundColor="@color/cardview_dark_background"
app:cardElevation="5dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="1dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textColor="@android:color/black"
android:background="@drawable/enchantress"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width="0dp"
android:layout_height="175dp"
android:layout_rowWeight="1"
android:layout_columnWeight="1"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginBottom="5dp"
app:cardBackgroundColor="@color/cardview_dark_background"
app:cardElevation="5dp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_margin="1dp"
android:orientation="vertical">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAlignment="center"
android:textColor="@android:color/black"
android:background="@drawable/enchantress"
android:textSize="18sp"
android:textStyle="bold" />
</LinearLayout>
</android.support.v7.widget.CardView>
<!-- have around 40 more Cardviews like that -->
</GridLayout>
<GridLayout
android:id="@+id/maingrid2>
<!-- [....] -->
<!-- exact same as above!-->
</GridLayout>
</LinearLayout>
</ScrollView>
Код явно не содержит все 40 просмотров карт.Я привел только два в примере.Это может иметь какое-то отношение к Android: weightsum, так как я играл с этим.
С наилучшими пожеланиями CG
PS Я использовал TextView для отображения изображений, потому что я думал, что я мог бы использовать текст поверхИзображение также.Сейчас я этого не делаю, поэтому я могу вернуться к ImageView.
PSS Я читал в другой ветке, что не следует использовать Gridview с Scrollview, но, возможно, в этом проблема.Но с моей точки зрения на это нет другого пути, поэтому я продолжал использовать его.