2017-07-12 10 views
0

this method を使用して、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 
     } 
    } 

インフレータと、私はそれらを保存するために、このオブジェクトを作成したコンテナをつかむために、「グローバルに」:

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は見えませんでした。 (関数は、明らかに外から呼び出されます。) ませクラッシュしないか何か

+0

でビューを膨らませなければなりません。あなたの 'view'(' anzeigen'関数のもの)が分かります。しかし、 'dumpster.cont'が見えるかどうかチェックしましたか? – Mibac

+0

ビューを膨らませるにはcont(コンテナ)が必要です – Max

+0

そうですが、表示されているかどうか確認しましたか? 'dumpster.cont !! visibility == Visibility.VISIBLE'をチェックしてください。 – Mibac

答えて

1

anzeigenでは、ビューを膨張されているが、このビューは、あなたのcontainerに子として添付されていません。あなたのコンテナに新しいビューを添付するには、inflater!!.inflate(R.layout.fragment_bots, container, **true**)

関連する問題