CoordinatorLayout — представление исчезает после щелчка элемента RecyclerView

Название говорит само за себя. Представление поиска в этом макете прячется за панелью инструментов и выглядит великолепно.

Панель инструментов верхнего уровня предоставляется на панели действий поддержки. Панель инструментов представления поиска используется только как представление.

Последний элемент в recyclerview загружает больше результатов и вызывает «notifyItemRangeInserted». Как только вы это сделаете, тень панели инструментов исчезнет, ​​а при прокрутке вверх окно поиска будет полностью пустым.

Есть идеи, почему?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?android:actionBarSize" />

    <android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <android.support.design.widget.AppBarLayout
            android:id="@+id/app_bar"
            android:layout_width="match_parent"
            android:layout_height="?android:listPreferredItemHeight"
            android:fitsSystemWindows="true">

            <android.support.v7.widget.Toolbar
                android:id="@+id/search_bar"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_marginBottom="12dp"
                android:layout_marginLeft="12dp"
                android:layout_marginRight="12dp"
                android:layout_marginTop="12dp"
                android:background="@drawable/search_background"
                android:gravity="center_vertical"
                android:orientation="horizontal"
                app:contentInsetEnd="0dp"
                app:contentInsetLeft="0dp"
                app:contentInsetRight="0dp"
                app:contentInsetStart="0dp"
                app:layout_scrollFlags="scroll|enterAlways">

                <ImageView
                    android:id="@+id/search_icon"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center_vertical"
                    android:paddingBottom="9dp"
                    android:paddingEnd="12dp"
                    android:paddingLeft="13dp"
                    android:paddingRight="12dp"
                    android:paddingStart="13dp"
                    android:paddingTop="9dp"
                    android:src="@drawable/search_icon" />

                <EditText
                    android:id="@+id/search_text"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@color/transparent"
                    android:focusable="true"
                    android:focusableInTouchMode="true"
                    android:fontFamily="@string/roboto_light"
                    android:gravity="center_vertical"
                    android:hint="@string/action_search"
                    android:imeOptions="actionGo"
                    android:maxLines="1"
                    android:minLines="1"
                    android:paddingBottom="9dp"
                    android:paddingTop="9dp"
                    android:textColor="#666666"
                    android:textSize="15sp" />
            </android.support.v7.widget.Toolbar>

        </android.support.design.widget.AppBarLayout>

        <android.support.v7.widget.RecyclerView
            android:id="@+id/search_results"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:clipToPadding="false"
            android:paddingBottom="?android:listPreferredItemHeightSmall"
            android:paddingTop="4dp"
            app:layout_behavior="@string/appbar_scrolling_view_behavior" />

        <TextView
            android:id="@+id/search_results_count"
            android:layout_width="match_parent"
            android:layout_height="?android:listPreferredItemHeightSmall"
            android:layout_gravity="bottom"
            android:background="@color/light_gray"
            android:gravity="center"
            android:textColor="@color/medium_grey"
            tools:text="results results" />
    </android.support.design.widget.CoordinatorLayout>
</LinearLayout>

person Psest328    schedule 23.11.2016    source источник
comment
Поместите панель инструментов внутрь AppBarLayout... подождите! У тебя их два!   -  person Chisko    schedule 23.11.2016
comment
да... 1 - это панель инструментов, поставляемая на панель действий. Другой — панель инструментов с изображением и текстом редактирования, который перемещается вверх/вниз при прокрутке. Я не мог получить функциональность с линейным макетом в качестве родителя поиска, но он работает с панелью инструментов.   -  person Psest328    schedule 23.11.2016
comment
ну, это функциональность, о которой я никогда раньше не слышал. Почему бы не поместить это в LinearLayout?   -  person Chisko    schedule 23.11.2016
comment
ответил еще до того, как ты спросил, лол. смотри выше :)   -  person Psest328    schedule 23.11.2016
comment
примечание: даже если родитель представления поиска изменен с панели инструментов на линейный макет... он все равно исчезает   -  person Psest328    schedule 23.11.2016
comment
Можете ли вы опубликовать свой код активности?   -  person rhari    schedule 23.11.2016
comment
закрытие этого вопроса. Оказывается, это известная ошибка (code.google.com/p/android. /issues/detail?id=178037). Решение можно найти здесь: stackoverflow.com/questions/31084658/   -  person Psest328    schedule 23.11.2016