Всем привет есть вот такая разметка
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:focusableInTouchMode="true">
<com.baoyz.widget.PullRefreshLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:id="@+id/fragment_main_controller"
android:layout_width="match_parent"
android:orientation="vertical"
android:layout_height="match_parent"/>
</ScrollView>
</com.baoyz.widget.PullRefreshLayout>
</LinearLayout>
Я создаю свою View и кидаю ее в fragment_main_controller потом еще создаю LinearLayout(container_recycler_view) присоединяю ее к fragment_main_controller и динамически создаю адаптер и RecyclerView и через addView добавляю это все в container_recycler_view
Когда я подгружаю из сети данные и начинаю их вставлять (кроме первого раза так, так как все пока что пусто), все это начинает виснуть на секунду (когда обновляю адаптер),
виснуть начинает именно скролл
Добавляю новые элементы и обновляю адаптер вот так:
int v = adapter.getMyModels().size() - 1;
adapter.getMyModels().addAll(myModelPages.getMyModels());
adapter.notifyItemRangeChanged(v, adapter.getMyModels().size() - v);
(пробовал и notifydatasetchanged такой же результат)
Вот код самого адаптера:
public static class ViewHolderMyModel extends RecyclerView.ViewHolder {
public ItemMyModelWidget itemMyModelWidget;
public ViewHolderQuestion(ItemMyModelWidget v) {
super(v);
itemMyModelWidget = v;
}
}
@Override
public Adapter.ViewHolderMyModel onCreateViewHolder(ViewGroup parent, int viewType) {
ItemMyModelWidget itemMyModelWidget = new ItemMyModelWidget(parent.getContext());
ViewHolderMyModel viewHolder = new ViewHolderMyModel(itemMyModelWidget);
return viewHolder;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
final ViewHolderMyModel viewHolderMyModel = (ViewHolderMyModel) holder;
final MyModel model = myModels.get(position);
/* Вставляю текст в itemMyModelWidget и так далее*/
}
В чем может быть проблема?
То есть я понял так, что когда я обновляю адаптер для новых элементов они почему то прорисовываются поэтому если скрол находится не в самом низу он начинает виснуть так как добавляются элементы