Не пытайтесь изменять виды, составляющие NavigationView, вместо этого используйте меню, которое поддерживает его:
// a field in your activity
private List<MenuItem> menuItems = new ArrayList<>();
В вашем методе onCreate () сохраните ссылку на начальный список MenuItems:
//...
NavigationView nav = findViewById(R.id.yourNavViewId);
navMenu = nav.getMenu();
for (int i = 0; i < navMenu.size(); i++) {
menuItems.add(navMenu.getItem(i));
}
Затем в методе onQuery используйте этот список:
@Override
public boolean onQueryTextChange(String s) {
NavigationView nav = findViewById(R.id.yourNavViewId);
nav.getMenu().clear();
for (int i = 0; i < menuItems.size(); i++) {
MenuItem menuItem = menuItems.get(i);
if (menuItem.getTitle().toString().toLowerCase().contains(newText.toLowerCase()))
nav.getMenu().add(0, menuItem.getItemId(), 0, menuItem.getTitle());
}
}