Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 单击底部工作表上的项目时,底部工作表不会折叠_Android_Onclick_Fragment_Bottom Sheet - Fatal编程技术网

Android 单击底部工作表上的项目时,底部工作表不会折叠

Android 单击底部工作表上的项目时,底部工作表不会折叠,android,onclick,fragment,bottom-sheet,Android,Onclick,Fragment,Bottom Sheet,我使用fragment和扩展BottomSHeetDialogFragment类创建了一个bottomsheet,现在的问题是,当我单击bottomsheet上的任何项目时,它不会折叠bottomsheet,我该怎么做 这是我的班级 public class BottomSheetFragment extends BottomSheetDialogFragment { private NavigationView navigationView; private BottomSh

我使用fragment和扩展BottomSHeetDialogFragment类创建了一个bottomsheet,现在的问题是,当我单击bottomsheet上的任何项目时,它不会折叠bottomsheet,我该怎么做

这是我的班级

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;
    }

}

解决方案很简单,只需从onclick方法中调用disclose()方法

参考:

代码应该如下所示

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;
    }

}