片段:改变功能的可见性

我试图用这个方法来改变一个RelativeLayout的可见性。 在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 } } 

要获取inflater和容器,我创建了这个对象来存储它们:“globaly”:

 object dumpster { var infl: LayoutInflater? = null var cont: ViewGroup? = null } 

这里的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只是不可见。 (该功能显然是从外部调用)没有崩溃或任何东西

anzeigen你膨胀的观点,但这种看法是不是作为一个孩子附加到您的container 。 要将新的视图附加到你的容器,你必须调用container.addChild(view)或者用inflater!!.inflate(R.layout.fragment_bots, container, **true**)使视图inflater!!.inflate(R.layout.fragment_bots, container, **true**)