Ошибка возникает из-за того, что вы пытаетесь получить доступ к элементам интерфейса через findViewById() до установки макета активности с помощью setContentView(). В результате переменные driverRegBtn, quest и другие остаются null, и попытка вызвать методы на этих объектах приводит к крашу.
Исправьте порядок вызовов в onCreate():
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 1. Сначала устанавливаем макет
setContentView(R.layout.activity_driver_reg_login);
// 2. Теперь инициализируем элементы интерфейса
driverRegBtn = findViewById(R.id.driverReg);
quest = findViewById(R.id.quest);
driverEmail = findViewById(R.id.driverEmail);
driverPassword = findViewById(R.id.driverPassword);
signInBtn = findViewById(R.id.signIn);
statusDriver = findViewById(R.id.statusDriver);
// 3. Теперь можем работать с элементами
driverRegBtn.setVisibility(View.INVISIBLE);
// Остальной код (EdgeToEdge и т.д.)
EdgeToEdge.enable(this);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
}
Убедитесь, что в вашем XML есть все указанные элементы с правильными android:id.
Для элементов, которые могут быть скрыты/показаны, проверьте начальное состояние видимости в XML (например, android:visibility).
Используйте аннотацию @Nullable или @NonNull для переменных представлений, чтобы получить подсказки от Android Studio.