Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.gigaser.hypersmm
- import androidx.appcompat.app.AppCompatActivity
- import android.os.Bundle
- import android.util.Log
- import android.widget.TextView
- import android.widget.Toast
- import androidx.activity.viewModels
- import androidx.fragment.app.*
- class LoginActivity : AppCompatActivity() {
- private enum class LoginMode {
- LOGIN, REGISTER
- }
- private var mode = LoginMode.LOGIN
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_login)
- val changeActionButton = findViewById<TextView>(R.id.register_text)
- supportFragmentManager.addOnBackStackChangedListener {
- mode = if (supportFragmentManager.backStackEntryCount == 0) {
- changeActionButton.text = getString(R.string.register_offer)
- LoginMode.LOGIN
- } else {
- changeActionButton.text = getString(R.string.login_offer)
- LoginMode.REGISTER
- }
- }
- changeActionButton.setOnClickListener {
- if (mode == LoginMode.LOGIN) {
- supportFragmentManager.commit {
- setCustomAnimations(
- R.anim.slide_in,
- R.anim.fade_out,
- R.anim.fade_in,
- R.anim.slide_out
- )
- replace(R.id.fragment_container, RegisterFragment(), "Register")
- addToBackStack("Login")
- }
- } else {
- supportFragmentManager.popBackStack()
- }
- }
- supportFragmentManager.setFragmentResultListener("loginRequestResult", this) { _, bundle ->
- // We use a String here, but any type that can be put in a Bundle is supported
- val result = bundle.getString("login")
- Toast.makeText(applicationContext, result, Toast.LENGTH_SHORT).show()
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement