Я использую нижнее меню навигации, на каждом itemMenu я вызываю функцию, чтобы открыть правильное действие:
//In the activty "A" where there's the bottom nav bar:
HelpActivity help = new HelpActivity();
case R.id.navigation_home:
help.openHomeActivity();
В HelpActivity
public void openHomeActivity(){
Intent i = new Intent(getApplicationContext(), HomeActivity.class);
startActivity(i);
}
Приложение вылетает, пожалуйста, как решить эту проблему?
Ошибка
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.Context android.content.Context.getApplicationContext()' on a null object reference
HelpActivity help = new HelpActivity();
Никогда создайте экземпляр действия самостоятельно.
Измените openHomeActivity() на:
public void openHomeActivity(Context context){
Intent i = new Intent(context, HomeActivity.class);
startActivity(i);
}
Затем, когда вы его вызываете, передайте уже существующий Context, например Activity, у которого есть нижний вид навигации.
Но как вызвать openHomeActivity ()?
@Machine: Поместите openHomeActivity() в класс, где находится блок switch с материалом case R.id.navigation_home. Или избавьтесь от метода и просто вызовите startActivity() из блока case R.id.navigation_home.
Я не знал, что мы можем вызвать startActivity () вдали от намерения, теперь я могу использовать classHelp, большое спасибо за вашу помощь и время
openHomeActivity(this);
Приложение вылетает, тогда что за ошибка внутри logcat ??? Разместите это здесь. А также проверьте внутри манифеста, который вы объявили ГлавнаяДеятельность или нет.