Android 片段:更改函数中的可见性
我试着用 要更改RelativeLayout的可见性,请执行以下操作。这在Android 片段:更改函数中的可见性,android,kotlin,Android,Kotlin,我试着用 要更改RelativeLayout的可见性,请执行以下操作。这在OnCreateView函数中运行良好,但我尝试将其添加到另一个函数中: fun anzeigen(wert: Int){ val inflater = dumpster.infl val container = dumpster.cont val view: View = inflater!!.inflate(R.layout.fragment_bots, containe
OnCreateView
函数中运行良好,但我尝试将其添加到另一个函数中:
fun anzeigen(wert: Int){
val inflater = dumpster.infl
val container = dumpster.cont
val view: View = inflater!!.inflate(R.layout.fragment_bots, container, false)
if (wert == 1){
view.BotDiv1.visibility = View.VISIBLE
}
}
为了抓取充气机和容器,我创建了这个对象来“全局”存储它们:
这里是OncreateView:
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view: View = inflater!!.inflate(R.layout.fragment_bots, container, false)
dumpster.infl = inflater
dumpster.cont = container
//Test, workes fine view.BotDiv1.visibility = View.VISIBLE
return view
}
现在它不起作用了。我记录了所有的事情,代码也执行了,但是RelativeLayout只是不可见。(该函数显然是从外部调用的。)
在
anzegen
中没有崩溃或任何问题,您正在膨胀一个视图,但此视图未作为子视图附加到容器中。要将新视图附加到容器,您必须调用container.addChild(视图)
或使用inflater!!对视图进行充气!!。充气(R.layout.fragment_bots,container,**true**)
据我所知,您的视图(ANZEGEN
功能中的视图)可见。但是你有没有检查垃圾箱.cont是否可见?cont(容器)是视图充气所必需的是我知道的,但是你有没有检查它是否可见?检查dumpster.cont!!。visibility==visibility.VISIBLE
我看不到调用Anzegen()
方法。@Mibac试过了,不起作用
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view: View = inflater!!.inflate(R.layout.fragment_bots, container, false)
dumpster.infl = inflater
dumpster.cont = container
//Test, workes fine view.BotDiv1.visibility = View.VISIBLE
return view
}