Android Фрагмент для добавления меню в Android Активность - PullRequest
0 голосов
/ 22 марта 2020

У меня есть фрагмент для входа в мое приложение, и этот фрагмент отображается через действие. Если пользователь успешно входит в систему, мне нужно добавить меню в родительское действие. Как это сделать ??

1 Ответ

0 голосов
/ 22 марта 2020

Меню раздуваются при создании Активности. Так что, в вашем случае, вы можете только поиграть с ним в видимость. Это не рабочий код, а просто идея, которую вы можете получить:

class MainActivity : AppCompatActivity(), MFragment.Listener {

    ...
    var menu: Menu? = null
    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        this.menu = menu
        menuInflater.inflate(R.menu.create_order_menu, menu)
        menu?.findItem(R.id.m_item)?.apply {
            isVisible = false
        }
        return true
    }

    override fun onLoginSucceed() {
        menu?.findItem(R.id.m_item)?.apply {
            isVisible = true
        }
    }

}

MFragment

class MFragment : Fragment() {

    private var listener: Listener? = null

    interface Listener {
        fun onLoginSucceed()
    }

    override fun onAttach(context: Context) {
        super.onAttach(context)
        listener = context as Listener
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        ...

        listener?.onLoginSucceed()
    }

    companion object {
        @JvmStatic fun newInstance() = MFragment()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...