向Android活动添加菜单的Android片段

问题描述 投票:0回答:1

我有一个用于登录我的应用程序的片段,并且该片段通过活动显示。如果用户成功登录,则需要向父活动添加菜单。怎么做??

我有一个用于登录我的应用程序的片段,并且该片段通过活动显示。如果用户成功登录,则需要向父活动添加菜单。该怎么做??????????????????

创建活动时菜单会膨胀。因此,根据您的情况,您只能使用它的可见性。这不是一个有效的代码,但仅仅是您可以理解一下:
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() }

}
android android-activity menu fragment
1个回答
0
投票
MFragment
© www.soinside.com 2019 - 2024. All rights reserved.