Мой список просмотра Android не показывает последние элементы - PullRequest
0 голосов
/ 17 июня 2019

Я проверил все, что я могу от Google, так что. На картинке есть список неправильных ответов, который должен отображаться, но не отображается.

enter image description here

Я пытался, 30dp или более нижняя панель для просмотра списка , android: layout_marginBottom = "? Attr / actionBarSize" , app: layout_behavior = "@ string / appbar_scrolling_view_behavior" , добавление списка в scrollview и т. Д., Но ничего не решает эту проблему. Пожалуйста, предложите что-нибудь!

XML-файл

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="com.it.jumtech.adaptest.activity.ResultDetailActivity">

<TextView
    android:id="@+id/textView2"
    android:layout_width="250dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dp"
    android:text="Result Detail"
    android:textColor="@android:color/holo_orange_dark"
    android:textSize="24sp"
    android:textStyle="bold"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="16dp"
    android:layout_marginStart="25dp" />

<TextView
    android:id="@+id/tv_name"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dp"
    app:layout_constraintLeft_toLeftOf="parent"
    android:layout_marginTop="8dp"
    android:textSize="16sp"
    app:layout_constraintTop_toBottomOf="@+id/textView2"
    android:layout_marginStart="25dp" />
<TextView
    android:id="@+id/tv_roll"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    android:layout_marginLeft="25dp"
    app:layout_constraintLeft_toLeftOf="parent"
    android:layout_marginTop="8dp"
    app:layout_constraintTop_toBottomOf="@+id/tv_name"
    android:layout_marginStart="25dp" />

<TextView
    android:id="@+id/label1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="25dp"
    android:layout_marginStart="25dp"
    android:layout_marginTop="8dp"
    android:text="Correct Answers"
    android:textSize="16sp"
    android:textColor="@android:color/holo_blue_light"
    android:textStyle="bold"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/tv_wrongscore" />
<ListView
    android:id="@+id/lv_rightlist"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:layout_editor_absoluteY="205dp"
    tools:layout_editor_absoluteX="8dp"
    app:layout_constraintLeft_toLeftOf="parent"
    android:paddingBottom="10dp"
    app:layout_constraintTop_toBottomOf="@+id/label1"/>
<TextView
    android:id="@+id/label2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Wrong Answers"
    android:textSize="16sp"
    android:layout_marginLeft="25dp"
    android:textStyle="bold"
    app:layout_constraintLeft_toLeftOf="parent"
    android:textColor="@android:color/holo_blue_light"
    android:layout_marginTop="8dp"
    app:layout_constraintTop_toBottomOf="@+id/lv_rightlist"
    android:layout_marginStart="25dp" />
<ListView
    android:id="@+id/lv_wronglist"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:layout_editor_absoluteY="205dp"
    tools:layout_editor_absoluteX="8dp"
    app:layout_constraintLeft_toLeftOf="parent"
    android:paddingBottom="40dp"
    app:layout_constraintTop_toBottomOf="@+id/label2"/>

</android.support.constraint.ConstraintLayout>

список файлов ресурсов

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="com.it.jumtech.adaptest.activity.ResultDetailActivity">

<TextView
    android:id="@+id/tv_qsn"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="18sp"
    android:layout_marginLeft="8dp"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginTop="8dp" />
<TextView
    android:id="@+id/label1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Answer "
    android:textSize="16sp"
    android:layout_marginLeft="8dp"
    app:layout_constraintTop_toBottomOf="@+id/tv_qsn"
    app:layout_constraintLeft_toLeftOf="parent"
    android:layout_marginTop="8dp" />
<TextView
    android:id="@+id/tv_asnwer"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    android:textColor="#000000"
    android:layout_marginLeft="0dp"
    app:layout_constraintLeft_toRightOf="@+id/label1"
    app:layout_constraintTop_toBottomOf="@+id/tv_qsn"
    android:layout_marginTop="8dp" />
<TextView
android:id="@+id/label2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Choosen "
android:textSize="16sp"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toRightOf="@+id/tv_asnwer"
app:layout_constraintTop_toBottomOf="@+id/tv_qsn"
android:layout_marginTop="8dp" />
<TextView
    android:id="@+id/tv_choosen"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    android:textColor="#000000"
    android:layout_marginLeft="0dp"
    app:layout_constraintLeft_toRightOf="@+id/label2"
    app:layout_constraintTop_toBottomOf="@+id/tv_qsn"
    android:layout_marginTop="8dp" />
<TextView
    android:id="@+id/label3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Mark "
    android:textSize="16sp"
    android:layout_marginLeft="8dp"
    app:layout_constraintLeft_toRightOf="@+id/tv_choosen"
    app:layout_constraintTop_toBottomOf="@+id/tv_qsn"
    android:layout_marginTop="8dp" />
<TextView
    android:id="@+id/tv_mark"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="16sp"
    android:textColor="#000000"
    android:layout_marginLeft="0dp"
    app:layout_constraintLeft_toRightOf="@+id/label3"
    app:layout_constraintTop_toBottomOf="@+id/tv_qsn"
    android:layout_marginTop="8dp" />

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Подход, который вы используете, неверен.Чтобы создать такой вид, вы должны создать вложенный RecyclerView.Внутри родительского RecyclerView представления вы должны создать еще один recyclerView.Таким образом, у adapter родителя RecyclerView будет ребенок recyclerView.В классе адаптер вы можете раздувать различные типы представлений в зависимости от ваших требований.Ниже приведен фиктивный код для родительского Adapter класса для вашей помощи.

@NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        LayoutInflater inflater = LayoutInflater.from(parent.getContext());
        View view;
        switch (viewType) {
            case TYPE1:
                view = inflater.inflate(R.layout.layout_1, parent, false);
                return new ViewHolder1(view);
            case TYPE_DATA:
                view = inflater.inflate(R.layout.layout_2, parent, false);
                return new Viewholder2(view);

            default:
                throw new RuntimeException("No match for found for" + viewType);
        }
    }



@Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
        if (holder instanceof Viewholder1) {
            viewholder1 = (Viewholder1) holder;
          }
        if (holder instanceof Viewholder2) {
            viewholder2 = (Viewholder2) holder;
        }
    }


    @Override
            public int getItemViewType(int position) {
                //Based on certain condition, change your return type
               if (type1)
                 return viewType1;
               if(type2)
                 return viewType2;
                 ....        
}
0 голосов
/ 17 июня 2019

Если вы используете два списка в одном макете, вам нужно программно рассчитать высоту списка и установить списки.Для этого вам может помочь ответ по этой ссылке

...