Я продолжаю получать это предупреждение в своем коде, и я начинаю беспокоиться, поскольку я близок к моему крайнему сроку завершения. У меня есть DrawerLayout в моем основном действии, используя собственную активность ящика Android Studio, но пришлось внести небольшое изменение в код, поскольку DrawerLayout setDrawerListener теперь устарел.Схема выдвижного ящика Android может вызвать исключение нулевого указателя
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Firebase reference to main application URL and 'today's' matches
Firebase mainRef = new Firebase(cons.getFirebaseUrl());
//DrawerLayout settings for the navigation drawer
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
//Retrieve the navigation drawer and set it's listener for menu item presses
navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
Я получаю предупреждение о drawer.addDrawerListener(toggle)
и navigationView.setNavigationItemSelectedListener(this)
Далее вниз в моем коде, я также получать его в этом методе:
@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) // This line gets the warning {
drawer.closeDrawer(GravityCompat.START);
} else {
super.onBackPressed();
}
}
Спасибо заранее для тех, кто может иметь идея о том, что вызывает его. Я пробовал эту проблему, но не смог найти пример метода устаревших сообщений.