BottomSheet не сворачивается при нажатии на элемент - PullRequest
0 голосов
/ 12 октября 2019

Я создал нижнюю таблицу с использованием фрагмента и класса Extending BottomSHeetDialogFragment. Теперь проблема заключается в том, что, когда я щелкаю любой элемент на нижней таблице, он не сворачивается в нижнюю таблицу. Как я могу это сделать?

это мой класс BottomSheetFragment

public class BottomSheetFragment extends BottomSheetDialogFragment {

    private NavigationView navigationView;
    private BottomSheetBehavior bottomSheetBehavior;


    @Override
    public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {


        Inflater inflater1 = new Inflater();
        final View view = inflater.inflate(R.layout.fragment_bottom_sheet, container, false);


        navigationView = view.findViewById(R.id.navigation_view_id);
        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                switch (menuItem.getItemId()) {
                    case R.id.all_list_item_id:

                        // Do something and collapse sheet

                        return true;
                    case R.id.add_new_list_item_id:

                        // Do something and collapse sheet

                        return true;
                    case R.id.bottom_sheet_item3_id:

                        // Do something and collapse sheet

                        return true;
                    default:
                        return false;
                }
            }
        });
        return view;
    }

}

1 Ответ

0 голосов
/ 12 октября 2019

Решение простое - просто вызовите метод dismiss () из метода onclick.

Ссылка: https://developer.android.com/reference/android/support/v4/app/DialogFragment.html#dismiss()

код должен соответствовать приведенному ниже

public class BottomSheetFragment extends BottomSheetDialogFragment {

    private NavigationView navigationView;
    private BottomSheetBehavior bottomSheetBehavior;


    @Override
    public View onCreateView(LayoutInflater inflater, final ViewGroup container, Bundle savedInstanceState) {


        Inflater inflater1 = new Inflater();
        final View view = inflater.inflate(R.layout.fragment_bottom_sheet, container, false);


        navigationView = view.findViewById(R.id.navigation_view_id);
        navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                switch (menuItem.getItemId()) {
                    case R.id.all_list_item_id:
                        dismiss();
                        return true;
                    case R.id.add_new_list_item_id:
                        dismiss();
                        return true;
                    case R.id.bottom_sheet_item3_id:
                        dismiss();
                        return true;
                    default:
                        return false;
                }
            }
        });
        return view;
    }

}
...