我在使用开关控制导航抽屉项目从另一个活动中的可见性方面存在问题

问题描述:

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) 
+0

您不能创建活动的对象,并期望它修改其内容。 Android不能这样工作 –

+0

那么我怎么能得到我的解决方案@SamuelRobert –

+0

什么是Settings.java文件?这是另一项活动吗? –

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

如果你想创建一个自定义的抽屉式导航,您应该遵循以下步骤:

  1. 在您的抽屉式导航模型创建一个名为“可见性”的布尔字段(例如:菜单项)。
  2. 当您更改'isVisible'字段时,您必须通知导航抽屉适配器。
+0

的结果,它既不包含列表视图也不包含Recycler视图。我使用NavigationView.OnNavigationItemSelectedListener –