java.lang.NullPointerException: Attempt to invoke virtual method
В приложении есть активити MainActivity и его дочерний класс Orders.
В дочернем классе есть есть два метода. Первый делает видимым всплывающее окно, другой делает все наоборот.
В main классе, в методе onCreate() я создаю объект класса:
orders = new Orders();
Далее кидаю слушателей:
findViewById(R.id.floatingActionButton).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
orders.openOrders();
}
});
findViewById(R.id.orderListMainLayout).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
orders.closeOrders();
}
});
В итоге приложения крашится, а в Logcat я получаю следующее:
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
Вот как организован дочерний класс Orders:
public class Orders extends MainActivity {
public void openOrders() {
findViewById(R.id.orderListMainLayout).setVisibility(View.VISIBLE);
}
public void closeOrders() {
findViewById(R.id.orderListMainLayout).setVisibility(View.GONE);
}
}
Ответы (1 шт):
Автор решения: Malyuga
→ Ссылка
Ошибку я исправил. Дело было в том, что дочернему классу я унаследовал MainActivity и когда я оставил public class Orders мой код сработал. Вероятнее всего ошибка вызвана тем, что класс наследовал Activity, хотя активити он не являлся и планировался просто дочерним классом.