【问题标题】:I want to show DialogFragment in Android using Kotlin我想使用 Kotlin 在 Android 中显示 DialogFragment
【发布时间】:2017-08-23 10:10:35
【问题描述】:

我要显示DialogFragment 当按钮为clicked 但我的代码有错误 错误在于有趣的“显示”

这是我的代码“点击按钮”

对话框片段

val pop = alarm_first()
val fm = FragmentManager
pop.show( fm , "name")

这是我的“alarm_first”片段类:

class alarm_first : DialogFragment() {
override fun onCreateView(inflater: LayoutInflater?, container: 
 ViewGroup?, savedInstanceState: Bundle?): View {

    var myView = inflater!!.inflate(R.layout.fragment_alarm_first
            , container, false)

    return myView
}}

【问题讨论】:

  • val fm = fragmentManager替换你的fm变量
  • 我正在这样做 = 再次出错

标签: android dialog fragment kotlin alarmmanager


【解决方案1】:

编辑此部分

val pop = alarm_first()
val fm = FragmentManager
pop.show(fm, "name")

val pop = alarm_first()
val fm = this@YourActivityName.fragmentManager
pop.show(fm, "name")

【讨论】:

    【解决方案2】:

    试试这个...

    val fm = supportFragmentManager

    【讨论】:

      【解决方案3】:

      替换

      val fm = FragmentManager
      

      val fm = fragmentManager
      

      【讨论】:

      • 我尝试了同样的事情,但我将 fragmentManager 设置为 null。我想从 Fragment 显示 DialogFragment。
      【解决方案4】:

      我们可以使用 DialogFragment 来显示我们需要在您的 Activity 边界中表示的内容,这就像对当前功能的增强一样。

      我通过以下方式实现了这一点,

      val fragment = DemoFragment()   
      fragment.show(childFragmentManager,"DemoFragment")
      

      childFragmentManager = java的getChildFragmentManager()

      tag = "片段名称"。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-07-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多