我要将可见的导航项(true或false)设置为某些条件。
item = (MenuItem)getActivity().findViewById(R.id.find_doctor_nav);mInsertBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {if(type.equals("Doctor")){
item.setVisible(false);
}
if(type.equals("Patient")){
item.setVisible(true);
}
CharSequence text = "User session start..!";
Toast toast = Toast.makeText(getContext(), text, Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER,0,0);
toast.show();
}
}
});
这是我的一段代码,我将会这样做。但是这给了我错误
android.view.MenuItem android.view.MenuItem.setVisible(boolean)'在空对象引用上
我在片段课程中做过但是我的代码不能正常工作。请建议我一些适当的解决方案。感谢....
答案 0 :(得分:3)
您应该找到NavigationView
并执行
//Inside Activity
public void setItemVisible(boolean visible){
NavigationView navigationView = (NavigationView) findViewById(R.id.navigation_view);
toggleVisibility(navigationView.getMenu(), R.id.find_doctor_nav, visible);
}
private void toggleVisibility(Menu menu, @IdRes int id, boolean visible){
menu.findItem(id).setVisible(visible);
}
您可以从菜单
中找到该项目编辑:
使用Interface
并让您的活动实施它。然后在Fragment
中,拨打((NavigationMenuListener)getActivity).setItemVisible(true /*or false*/);
public interface NavigationMenuListener {
void setItemVisible(boolean visible);
}
更多信息,请点击谷歌上的谷歌。还有更多的答案。