Жизненный цикл активности Android

У меня в программе есть отдельная активность, внутри нее 3 кнопки. При нажатии кнопки данные отправляются в firebase. Но после отправки(setValue) активность перезагружается, как при recreate(), хотя от нее этого не требуется. Поведение активности при нажатии на любую кнопку примерно такое в моем случае, как я выяснил из отладочных выводов в консоль: onCreate -> onStart -> onResume -> нажатие на кнопку -> onPause -> onCreate -> onStart -> onResume -> onStop и дальше по кругу после каждого нажатия. Слушатели на кнопки я установил в onCreate. Еще больше меня запутывает то, что если не обращаться к firebase, нажатия на кнопки не вызывают никаких действий у активности самостоятельно, как и должно быть. Ниже привел практически весь код, речь идет о кнопках типа RadioButton.

public class WorkerCabinetActivity extends AppCompatActivity {
FirebaseUser dbuser = FirebaseAuth.getInstance().getCurrentUser();
DatabaseReference db2 = FirebaseDatabase.getInstance().getReference();
public static final String APP_PREFERENCES = "mysettings";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_worker_cabinet);
    Button btnSignOut = findViewById(R.id.sign_out_button);
    RadioButton btnOnlineFree = findViewById(R.id.online_free_button);
    RadioButton btnOnlineBusy = findViewById(R.id.online_busy_button);
    RadioButton btnOffline = findViewById(R.id.offline_button);

    btnOnlineBusy.setOnClickListener(v -> db2.child("Users/" + dbuser.getUid() + "/status").setValue("online busy"));
    btnOnlineFree.setOnClickListener(v -> db2.child("Users/" + dbuser.getUid() + "/status").setValue("online"));
    btnOffline.setOnClickListener(v -> db2.child("Users/" + dbuser.getUid() + "/status").setValue("offline"));


    btnSignOut.setOnClickListener(v -> {
        SharedPreferences loginPref = getSharedPreferences(APP_PREFERENCES, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = loginPref.edit();
        editor.clear();
        editor.commit();
        startActivity(new Intent(WorkerCabinetActivity.this, MainActivity.class));
        finish();
    });
}

@Override
protected void onStart() {
    super.onStart();
    System.out.println("----------------------------onStart--------------------------------");
}

@Override
protected void onResume() {

    System.out.println("----------------------------onResume--------------------------------");
    super.onResume();
}

@Override
protected void onPause() {
    System.out.println("----------------------------onPause--------------------------------");
    super.onPause();
}

@Override
protected void onStop() {
    super.onStop();
    System.out.println("----------------------------onStop--------------------------------");
}

@Override
protected void onRestart() {
    super.onRestart();
    System.out.println("----------------------------onRestart-------------------------------");
}
}

Вывод в консоли после нажатия кнопки с this.hashCode():

I/System.out: ----------------------------onPause--------------------------------79732252
V/FA: Recording user engagement, ms: 24281
V/FA: Connecting to remote service
V/FA: Activity paused, time: 27905355
V/FA: onActivityCreated
I/System.out: ----------------------------onStart--------------------------------41611463
----------------------------onResume--------------------------------41611463
V/FA: Connection attempt already in progress
V/FA: Activity resumed, time: 27905395
V/FA: Connection attempt already in progress
Connection attempt already in progress
D/FA: Connected to remote service
V/FA: Processing queued up service tasks: 4
I/System.out: ----------------------------onStop--------------------------------79732252
V/FA: Inactivity, disconnecting from the service

Запуск активности из MainActivity:

startActivity(new Intent(MainActivity.this, WorkerCabinetActivity.class));
finish();

Ответы (0 шт):