我有一个用于登录我的应用程序的片段,并且该片段通过活动显示。如果用户成功登录,则需要向父活动添加菜单。怎么做??
我有一个用于登录我的应用程序的片段,并且该片段通过活动显示。如果用户成功登录,则需要向父活动添加菜单。该怎么做??????????????????
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
}
}
}
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()
}
}