Kotlin закрыть фрагмент по клику - PullRequest
0 голосов
/ 02 мая 2020

У меня есть фрагмент, который вызывается из экрана activity_main, когда щелкает опция в главном меню. Я пытаюсь закрыть фрагмент и снова показать экран activity_main при нажатии кнопки отмены. У меня есть пользовательский ввод на экране Activity_main, который я хотел бы по-прежнему там, если фрагмент закрывается при нажатии кнопки отмены, но в этот момент я соглашаюсь с тем, что фрагмент просто закрывается, и Activity_main показывает обратно в исходное состояние.

Я использую androidx, и все ответы, которые я нашел до сих пор, были совместимы с android .support.v7

Это код, который у меня есть в моем фрагменте, он ничего не делает при все, когда я нажимаю кнопку «Отмена», фрагмент просто продолжает оставаться там над Activity_main.

class SaveFragment: Fragment() {

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        val view: View = inflater.inflate(R.layout.savefragment, container, false)

        return view
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        b_cancel.setOnClickListener {
            fragmentManager?.popBackStack()
        }
    }
}

Вот код, который вызывает savefragment из MainActivity:

   override fun onOptionsItemSelected(item: MenuItem): Boolean {

        return when (item.itemId) {
            R.id.i_save -> {
                val SaveFragment = SaveFragment()
                supportFragmentManager.beginTransaction().replace(R.id.activity_main_main, SaveFragment).commit()
                true
            }
            R.id.i_recall -> {
                val RecallFragment = RecallFragment()
                supportFragmentManager.beginTransaction().replace(R.id.activity_main_main, RecallFragment).commit()
                true
            }
            else -> super.onOptionsItemSelected(item)
        }
    }

Любая помощь вообще в Kotlin будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...