RecyclerView в DialogFragment не прокручивается - PullRequest
0 голосов
/ 30 сентября 2018

У меня есть RecyclerView в DialogFragment.И фрагмент Диалога, и просмотр рециркулятора отображаются, хотя, когда просмотр рециркулятора заполняется за пределы емкости представления, он не прокручивается.

    ?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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:tag="FoodMenuTag"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context="com.example.android.cop1803.MainActivity">

    <View
    android:id="@+id/divider3"
    android:layout_width="1184dp"
    android:layout_height="1dp"
    android:layout_marginTop="@dimen/MarginTop_PDF_dividers"
    android:layout_marginBottom="@dimen/MarginTop_PDF_dividers"
    android:background="?android:attr/listDivider"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/kCal"
    tools:layout_editor_absoluteX="8dp" />

        <com.example.android.cop1803.MyRecyclerView
        android:id="@+id/recycler_menuview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:scrollbars="vertical"
        app:layout_constraintTop_toBottomOf="@id/divider3"
    />

Вот мой фрагмент диалога:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.recyclerview_menu, container, false);
    mRecyclerView = (RecyclerView) view.findViewById(R.id.recycler_menuview);
    return view;
}
@Override
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
    Bundle args = getArguments();
    if(args != null) {
        cartList = args.getParcelableArrayList("key");
    MenuDialogFragmentAdapter adapter = new 
    MenuDialogFragmentAdapter(this.getActivity(), cartList);
    mRecyclerView.setHasFixedSize(true);
    mRecyclerView.setAdapter(adapter);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
   }
}
@Override
public void onResume() {
    // Get existing layout params for the window
    ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes();
    // Assign window properties to fill the parent
    params.width = WindowManager.LayoutParams.MATCH_PARENT;
    params.height = WindowManager.LayoutParams.MATCH_PARENT;
    getDialog().getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
    // Call super onResume after sizing
    super.onResume();}

Любая помощь в получении этого очень ценится.

спасибо,

Джим

Ответы [ 2 ]

0 голосов
/ 30 сентября 2018

попробуйте добавить вложенную прокрутку в окно реселлера, посмотрите, работает ли оно.

recyclerView.setNestedScrollingEnabled(true);
0 голосов
/ 30 сентября 2018

Оказалось, что я не учел полную высоту моего вида переработчика.Так что на самом деле это работало, но высота выходила за нижнюю границу.Однажды я сделал несколько корректировок по высоте, это сработало.Вот XML, который включен.

<com.example.android.cop1803.MyRecyclerView
        android:id="@+id/recycler_menuview"
        android:layout_width="match_parent"
        android:layout_height="350dp"
        android:layout_marginStart="8dp"
        android:layout_marginBottom="8dp"
        android:scrollbars="vertical"
        app:layout_constraintVertical_bias="0.01"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@id/divider3" />

Мне не нравится, что высота является фиксированным значением, поэтому я, скорее всего, изменю код.спасибо Джим

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...