我在使用开关控制来自另一个活动的导航抽屉项目的可见性时遇到问题

时间:2017-09-19 07:03:19

标签: android methods android-navigation-drawer

HI我想设置导航抽屉项目的可见性,当我从导航抽屉转到设置并打开设置中的开关时。

以下是截图:

Here is the ScreenShot.

我想在高级设置下看到应用管理器,但只有当我从设置活动中打开开关时。

这是我从mainactivity设置到可见项目的方法。

public void app_manager() {
  nav_Menu  = navigationView.getMenu();
  MenuItem item =  nav_Menu.findItem(R.id.app_manager);
  item.setVisible(true);
}

settings.java:

 MainActivity mainActivity = new MainActivity();
 mainActivity.app_manager();

感谢任何帮助。

这是logcat:

 Process:com.example.lenovo.connectiontest, PID: 3611
                                                                             java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Menu android.support.design.widget.NavigationView.getMenu()' on a null object reference
                                                                                 at com.example.lenovo.connectiontest.Activity.MainActivity.app_manager(MainActivity.java:205)

1 个答案:

答案 0 :(得分:0)

导航抽屉视图包含具有适配器的Listview或Recyclerview。更新导航抽屉项目中的任何UI组件后,您必须通知适配器。

如果要创建自定义导航抽屉,则应执行以下步骤:

  1. 创建一个名为' isVisible'的布尔字段。在您的导航抽屉模型中(例如:MenuItem)。
  2. 当你改变'isVisible'字段,您必须通知导航抽屉适配器。