Всякий раз, когда я добавляю TextView поверх RecyclerView, смещение горизонтальной прокрутки сбрасывается, чтобы начать.
У меня есть LinearLayout, который содержит два элемента - TextViewContainer и RecyclerView. После инициализации RecyclerView я обновляю смещение горизонтальной прокрутки на 100 пикселей следующим образом:
recyclerView.scrollTo( 100, 0 ).
Затем, всякий раз, когда я добавляю TextView в TextViewContainer, смещение RecyclerView сбрасывается в начало по любой причине, даже если они никак не связаны.
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/mainLayout"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="wrap_content">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textViewContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
<RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
Я добавляю TextView следующим образом:
LinearLayout container = rootView.findViewById(
R.layout.textViewContainer );
TextView textView = new TextView(container.getContext());
textView.setLayoutParams(new
LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT));
textView.setGravity(Gravity.CENTER);
textView.setTextSize( 20.5f );
textView.setText("TEST" );
container.removeAllViews();
container.addView(textView);
Я ожидаю, что RecyclerView останется с горизонтальным смещением 100 пикселей и НЕ вернется к нулю, когда я добавлю выше TextView в отдельный контейнер.
textViewContainer не имеет отношения к RecyclerView, я не понимаю, почему он сбрасывается к началу, как только я добавляю TextView в контейнер представления текста.
Единственная причина, по которой я мог подумать, почему это происходит, заключается в том, что каждый элемент в RecyclerView шире, чем ширина экрана, и, возможно, именно поэтому Android пытается сбросить смещение горизонтальной прокрутки, поскольку в основном макете произошли изменения, не уверен ..
Есть ли способ, которым я могу предотвратить это? Спасибо!