我有一个来自MaterialComponents的带有BottomSheetBehaviour的视图组(工作表内容可单击,可隐藏)
父级(CooridnatorLayout)中包含的布局
<include
android:id="@+id/filters_sheet"
layout="@layout/station_filters"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:behavior_hideable="true"
app:behavior_peekHeight="48dp"
app:behavior_skipCollapsed="true"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"/>
工作表的内容具有2个开关组件(用于过滤工作表后面的列表)
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/filter_sheet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:layout_gravity="bottom"
android:background="@drawable/filters_sheet_background"
android:elevation="@dimen/small_space">
<Switch
android:id="@+id/station_filter_only_available"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/space"
android:padding="@dimen/space"
android:text="@string/station_filter_only_available" />
<Switch
android:id="@+id/station_filter_with_partners"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/space"
android:text="@string/station_filter_with_partners"/>
</androidx.constraintlayout.widget.ConstraintLayout>
现在,每次我单击任何过滤器开关时,列表都会更新(通过在实时数据上触发新值),但是工作表会消失,但是BottomSheetBehaviour的内部状态仍为STATE_EXPANDED。
这是库(com.google.android.material:material:1.0.0)中的错误,还是我丢失了某些东西?
谢谢
station_filter_only_available.setOnCheckedChangeListener { _, isChecked ->
if (parentViewModel.stationFilters.value != null) {
parentViewModel.stationFilters.value = parentViewModel.stationFilters.value!!.copy(onlyAvailable = isChecked)
}
}