android 如何以编程方式使片段可见?

px9o7tmv  于 2023-06-27  发布在  Android
关注(0)|答案(1)|浏览(175)

我有一个MainActivity.kt沿着相关的MainActivity.xml。
我还有一个Fragment,它是MainActivity的一部分,由MyFragment.kt和MyFragment.xml组成。在MyFragment.xml中,我已经指定MyFragment是Invisible,这意味着当应用程序启动并布局MainActivity时,MyFragment对用户不可见。
我还有一个MakeMyFragmentVisibleButton,它是MainActivity的一部分,当单击它时,我希望MyFragment变得可见。
我假设,当MyFragment不可见时,MyFragment中的所有按钮或其他控件对用户来说都是不可用的。他看不见他们,无法与他们互动。
但是当用户单击MakeMyFragmentVisibleButton时,我希望MyFragment变得可见,从而使可能在MyFragment中的任何控件变得可见,并且用户可以与它们交互。
这就是我希望它如何工作。
但我不知道如何使MyFragment变得可见。我已经成功地为按钮设置了一个onClickListener,当用户单击按钮时,它确实会被调用。但是我还没有弄清楚为了使MyFragment可见,实际上必须运行什么代码。
我看了几十个YouTube视频和在线文档,但它们似乎都是用JAVA写的。我的应用程序是Kotlin,不幸的是,我没有任何经验(我有45年的软件工程师经验,但我对Kotlin感到困惑)。
所以,如果有人能告诉我,我需要在Kotlin代码中做些什么才能让一个片段变得可见(以及相应的不可见),我会非常感激。

bvhaajcl

bvhaajcl1#

隐藏(片段)
show(片段)
https://developer.android.com/guide/fragments

  1. val fragment1=Fragment1()
  2. val fragment2=Fragment1()
  3. innerMainActivity.fragmentManager.beginTransaction()
  4. .add(frameLayout.id, fragment1, "fragment1")
  5. .add(frameLayout.id, fragment2, "fragment2")
  6. .hide(fragment2)
  7. .show(Fragment1)
  8. .commit()

相关问题