Задать вопрос
@dimasik100200

Как отобразить Recycler View в bottom sheet?

Мне нужно создать bottom sheet с двумя view : горизонтальный rececler view и под ним liner layout. Как это сделать, если bottom sheet я реализую через BottomSheetDialogFragment. Попытался объявить там recyclerview, как в обычных фрагментах, но он при тесте на устройстве не отображается. Как это исправить?
код xml файла sheet_chat
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/chat_sheet"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@color/colorWhite"
    app:layout_behavior="android.support.design.widget.BottomSheetBehavior"
    android:orientation="vertical">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view_chat"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clipToPadding="false"
        android:scrollbars="vertical"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">

    </android.support.v7.widget.RecyclerView>

    <include layout="@layout/line_divider" />

    <LinearLayout . . . >

</LinearLayout>

Вот код BottomSheetDialogFragment
public class ChatBottomSheetDialog extends BottomSheetDialogFragment {

    private ArrayList<SheetObject> cardList;
    private RecyclerSheetAdapter mAdapter;
    private RecyclerView recyclerView;

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.sheet_chat, container, false);

        recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view_chat);
        cardList = new ArrayList<>();
        mAdapter = new RecyclerSheetAdapter(this, cardList);
        LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL, false);
        recyclerView.setLayoutManager(layoutManager);
        //recyclerView.setItemAnimator(new DefaultItemAnimator());
        recyclerView.setAdapter(mAdapter);
        recyclerView.setHasFixedSize(true);

        return view;
    }
}

  • Вопрос задан
  • 767 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы