0

我的应用中有 4 个标签。其中一个无需登录即可访问,但其他人则无法访问。因此,我需要实现一个功能,如果用户单击该选项卡,则其余 4 将被禁用,当我单击这些选项卡时,我只想吐司,但如果我单击这些选项卡,我会吐司,但它也被选中但片段没有改变。我想禁用那个我已经为变量赋值的选项卡,以检查它是没有记录还是在记录后。

代码:

  case R.id.home:
                if(value.equals("1")){
                    Toast.makeText(CarerSeekerActivity.this,R.string.login_signup,Toast.LENGTH_SHORT).show();
                    navigation.getMenu().getItem(0).setEnabled(false);

                }
                else {
                    fragment = new CreatePersonalizedPackageCareSeekerFragment();
                    changeFragments(fragment);
                }
                return true;

但它显示吐司,但选择了该选项卡。我不想让它被选中。请帮忙。

4

1 回答 1

3

设置菜单后,请在您的 on create 方法中编写以下代码:

if(isloggedin){
// do click action which is required if the user already logged in
change your fragment from here
}else{
    bottomnavigation.getMenu().getItem(your_position).setEnabled(false); // disable menu if user not logged in
Toast.makeText(CarerSeekerActivity.this,R.string.login_signup,Toast.LENGTH_SHORT).show();
}
于 2019-02-18T11:39:15.660 回答