androidx recyclerview не отображает данные правильно или правильно - PullRequest
0 голосов
/ 16 января 2020

У меня проблема с представлением реселлера в androidx, которое не отображает все данные или неправильно отображает данные массива строк. Адаптер работает, потому что он пытается отобразить все элементы в списке массивов, но при прокрутке данных перестанет работать корректно. В какой-то момент переработчик меняет только один из кадров несколько раз, чтобы отобразить все элементы в массиве. Он также повторяет группу элементов в массиве (например, 1-10) вместо отображения всего массива (например, 1-30). Я попытался опубликовать несколько фотографий для более ясного объяснения.

<string-array name="example_array">
        <item>1</item>
        <item>2</item>
        <item>3</item>
        <item>4</item>
        <item>5</item>
        <item>6</item>
        <item>7</item>
        <item>8</item>
        <item>9</item>
        <item>10</item>
        <item>11</item>
        <item>12</item>
        <item>13</item>
        <item>14</item>
        <item>15</item>
        <item>16</item>
        <item>17</item>
        <item>18</item>
        <item>19</item>
        <item>20</item>
        <item>21</item>
        <item>22</item>
        <item>23</item>
        <item>24</item>
        <item>25</item>
        <item>26</item>
        <item>27</item>
        <item>28</item>
        <item>29</item>
        <item>30</item>
        <item>31</item>
        <item>32</item>
        <item>32</item>
        <item>33</item>
        <item>34</item>
        <item>35</item>
    </string-array>

//Code for Recycler View

        RRecyclerViewAdapter recipeadapter = new RRecyclerViewAdapter(getResources().getStringArray(R.array.example_array));

        RecyclerView rview = (RecyclerView) findViewById(R.id.rrecylerview_recyclerview);

        mLinearLayoutManager = new LinearLayoutManager(this);

        rview.setLayoutManager(mLinearLayoutManager);

        rview.setAdapter(recipeadapter);

        //The Code for Recycler View Ends Here

public class RRecyclerViewAdapter extends RecyclerView.Adapter {

TextView textView;
String[] recipelist;


    public RRecyclerViewAdapter(String[] r){
        recipelist =r;
    }
    private static final String TAG = "Debug "+RRecyclerViewAdapter.class.getSimpleName();

    @NonNull
    @Override
    public RecipeHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {



        View itemView = LayoutInflater.from(parent.getContext())
                .inflate(R.layout.text_row_item, parent, false);

       Log.e (TAG, "in onCreateViewHolder");


        return new RecipeHolder(itemView);
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {

        textView.setText(recipelist[position]);
        Log.e (TAG, "in onBindViewHolder");

    }

    @Override
    public int getItemCount() {
        return recipelist.length;
    }
    public class RecipeHolder extends RecyclerView.ViewHolder {
       
        public RecipeHolder(View itemView) {
            super(itemView);
            textView = itemView.findViewById(R.id.textView);
            Log.e (TAG, "in NoteHolder");
        }
    }

}

//For Recycler View
    implementation "androidx.recyclerview:recyclerview:1.2.0-alpha01"
    //implementation "androidx.recyclerview:recyclerview:1.1.0"
    // For control over item selection of both touch and mouse driven selection
    implementation "androidx.recyclerview:recyclerview-selection:1.1.0-beta01"
    //implementation 'com.android.support:recyclerview-v7:28.0.0'

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.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=".RecipeRecycler.RRecyclerView">

    <TextureView
        android:id="@+id/PlaybackView"
        android:layout_width="383dp"
        android:layout_height="19dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/AttribView"
        android:layout_width="228dp"
        android:layout_height="37dp"
        android:layout_marginStart="100dp"
        android:layout_marginTop="10dp"
        android:layout_marginEnd="100dp"
        android:text="TextView"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/PlaybackView" />

    <FrameLayout
        android:layout_width="409dp"
        android:layout_height="415dp"
        app:layout_constraintTop_toBottomOf="@+id/AttribView"
        tools:layout_editor_absoluteX="1dp">

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/rrecylerview_recyclerview"
            android:layout_width="404dp"
            android:layout_height="278dp"
            android:layout_marginTop="10dp"
            />
    </FrameLayout>

</androidx.constraintlayout.widget.ConstraintLayout>

Просмотр перед прокруткой

Просмотр после прокрутки

Просмотр после Прокрутка Отредактировано

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...