Фрагмент: RelativeLayout Видимость не изменяется в OnCreateView

(Я использую Kotlin) Итак, вот мой OnCreateView в фрагменте.

override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view: View = inflater!!.inflate(R.layout.fragment_bots, container, false) BotDiv2.visibility = View.VISIBLE startUp() return view } 

и вот xml relativelayout:

 <RelativeLayout android:id="@+id/BotDiv2" android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="33.3" android:visibility="invisible"> <ImageButton android:id="@+id/BotBtn1" android:layout_width="90dp" android:layout_height="90dp" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:background="@null" android:scaleType="fitCenter" android:src="@android:drawable/btn_star_big_on" /> <TextView android:id="@+id/uselessLevel1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/BotBtn1" android:layout_alignStart="@+id/BotBtn1" android:text="Level:" /> <TextView android:id="@+id/BotWorth1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/BotBtn1" android:layout_centerHorizontal="true" android:text="$500" android:textAppearance="@style/TextAppearance.AppCompat.Large" /> <TextView android:id="@+id/levelBot1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/BotBtn1" android:layout_alignEnd="@+id/BotBtn1" android:text="1" /> </RelativeLayout> 

Чтобы использовать его в другой функции, но это:

 BotDiv2.visibility = View.VISIBLE 

вызывает NPE. Я также пытался использовать findViewById, но это также вызывает NPE (или не влияет на Cot of Kotlin's??).

Помимо идентификатора, похоже, не так, как указано в комментарии выше …

Поскольку на этом этапе ваш View еще не установлен для вашего Fragment (вы не вернули его в фреймворк), вы не можете вызвать findViewById на самом Fragment , но вы можете сделать вызов findViewById на вновь завышенном View а не:

 val view: View = inflater!!.inflate(R.layout.fragment_bots, container, false) val bd2 = view.findViewById(R.id.BotDiv2) bd2.visibility = View.VISIBLE 

Если вы используете Kotlin Android Extensions, вы можете сделать то же самое с этим синтаксисом:

 val view: View = inflater!!.inflate(R.layout.fragment_bots, container, false) view.BotDiv2.visibility = View.VISIBLE