Мумитроль
Нет, в смысле почему мигание. Т.е. вьюха же будет заполнена до показа на экране, мигания быть в принципе не должно
Мумитроль
Мумитроль
А я о корне проблемы
Сергей
костыль в том чтобы очищать состояние вьюхи в onDetach?
Сергей
окей
Сергей
тогда программироавние под андроид - костыль
Dmitriy
Это не костыль, без тех же вью моделей и биндингов если вы в списке будете отображать изображения, которые грузятся из сети, и не будете очищать или делать еще что нибудь чтобы перед загрузкой сбрасывать старое изображение с вьюхи - то будет веселое мигание картинок
Dmitriy
Ну и на самом деле я не силен в специфики биндинга, но что то мне подсказывает, что переиспользование ресайклером ранее созданного viewHolder'a приводит к тому что вьюха отображается ранее чем происходит новым биндинг
Андрей
Dmitriy
))))
Artem
мигание потому что вьюха отображаеться, а потом происходит проверка условие
defaul помог)
Сергей
Artem
это по документации так)) но оно мигало, мазафака... Мы все знаем что в андроиде есть много бочин. Дефоулт параметр есть не просто так
Сергей
если моргает значит у тебя биндинг кривой
Сергей
либо ты его делаешь методом add и не удаляешь в детаче, в следствие чего у тебя биндинг делается столько раз сколько раз переиспользовалась вьюшка
Сергей
либо что то еще
Сергей
для этого существует отладчик, чтобы не гадать на кофейной гуще
Андрей
кто-нибудь сталкивался с проблемой, когда в recyclerView onBindViewHolder отрабатывает для ВСЕХ элементов при первоначальном добавлении?
Андрей
при этом если их 300, то реально рендерятся ВСЕ сразу
Nikita
помогите плз разобраться почему не отображается текст hint, если поле ввода не в фокусе, <android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/MyHintText">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/Title"
android:theme="@style/MyEditText" />
</android.support.design.widget.TextInputLayout>. все стили пописаны
Андрей
что само собой баг
Dmitriy
Сергей
что само собой баг
recycler у тебя растягивается по ширине всего контента а не по ширине экрана
Андрей
Dmitriy
А можно верстку экрана с ним увидеть?
Андрей
recyclerview инфлейтится в отдельном лейауте
Сергей
Nikita
Андрей
А можно верстку экрана с ним увидеть?
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/screen_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:layout_margin="0dp"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical|center_horizontal|center"
android:orientation="vertical"
android:padding="10dp">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="place holder"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
Dmytro
Как правильно удалять элемент из ListView or RecyclerView?
Андрей
вот в screen_container в рантайме инфлейтится отдельный лэйаут
Андрей
вот такой
Андрей
то есть
Андрей
никаких scrollView нет
Андрей
вообще
Сергей
android:layout_height="0dip"
Сергей
вот причина
Dmitriy
Зачем вес задан и почему 0dip
Андрей
потому что ниже еще лэйаут с кнопками
Андрей
хм, окей, избавлюсь от этого тогда
Dmitriy
Так у него один элемент только с весом и weightsum не указан
Dmitriy
Там вообще жопа, лучше уж констраинт или на крайний случай релатив заюзать для такого отображения как нужно
Сергей
Андрей
не
Андрей
другие элементы закомментил
Андрей
вес убрал
Андрей
поставил высоту в match parent
Андрей
результат тот же
Сергей
вес убрал?
Андрей
вес убрал?
ну теперь лэйаут который инфлейтится такой
Андрей
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".activities.MainActivity">
<android.support.v7.widget.RecyclerView
android:id="@+id/scr_order_list"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
Roman
про gist., pastebin - не, не слышали?
Сергей
а как ты инфлейт делаешь?
Dmitriy
Кстати, откуда уверенность что все отрисовывает?
Dmytro
Андрей
при этом это занимает около 6 секунд
Андрей
а как ты инфлейт делаешь?
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View root = inflater.inflate(screenLayoutId, this, true);
Dmitriy
Странно Это, я такой баг встречал только если ресайклер положить в скролл контейнер, тогда начинается такая фигня, он просто создает холдеры а не переиспользует их
Андрей
да вообще странно, 2 дня с этим сижу
Андрей
при этом обнаружил что у одного чувака был такой баг из-за бага в саппортовской либе
Андрей
но мне откат не помог
Игорь
Ребят подскажите библиотеку или хотя бы поисковой запрос для поиска библиотеки, которая генерит картинку (аватар) по первым буквам textView( инициалы пользователя)
Wiktor
Dmitriy
но мне откат не помог
Вопрос, а у вас итемы в момент добавления имеют хоть какую то высоту или нет? То есть возможно все содержимое элемента gone, Вот он и создает их чтобы заполнить всю область видимости
Андрей
Андрей
и да, они сразу видны
Андрей
это вообще не помогло
Сергей
Dmitriy
Еще вопрос, в самой первой вьюху у вас релатив имеет ширину ноль и вес, а куда он вкладывается?
Андрей
Андрей
а тот уже рут для всего
Dmitriy
А можно тогда еще верстку где тот рут линеар?
Андрей
А можно тогда еще верстку где тот рут линеар?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/wallpaper"
android:orientation="horizontal">
<LinearLayout
android:layout_width="100dp"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@color/colorPrimaryDarkTransparent"
android:elevation="4dp"
android:orientation="vertical">
<ImageView/>
<ImageView />
<ImageView />
<ImageView />
<ImageView />
<ImageView/>
</LinearLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1">
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/screen_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:layout_margin="0dp"
android:focusable="true"
android:focusableInTouchMode="true"
android:gravity="center_vertical|center_horizontal|center"
android:orientation="vertical"
android:padding="10dp">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="place holder"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<Button />
<Button/>
<Button />
<android.support.design.widget.FloatingActionButton/>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerInParent="true"
android:layout_margin="10sp"
android:background="@drawable/form_border"
android:gravity="center"
android:orientation="vertical"
android:padding="5sp">
<TextView" />
</LinearLayout>
</RelativeLayout>
</LinearLayout>
Андрей
я подсократил чуть, но тут все что есть
Dmitriy
Блин, ну я не вижу явной причины для такого поведения recycler'a