android - 单击其上的项目时,BottomSheet 不折叠
问题描述
我使用片段和扩展 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;
}
}
解决方案
解决方案很简单,只需从您的 onclick 方法调用方法 dismiss()。
参考: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;
}
}
推荐阅读
- javascript - 在外部函数中操作变量并返回它们(JS)
- node.js - discord.js 如何按名称获取频道 ID?
- python - 打印嵌套列表,python
- visual-studio - 使用“包引用”为项目重新添加“内容”的工具或方法
- django - 对图像场的困惑
- html - 如何使用 shadow DOM 在动态加载的 Web 组件样式中加载 @font-face
- css - 按下菜单切换时导航栏菜单不显示
- reactjs - 如何更改 react-big-calender 顶部的日期格式
- sql - PostgreSQL左连接查询具有一对多关系
- c - 无法在 MinGW 中执行 C 文件