片段: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 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(或不影响,因为Kotlin的“?”)。

除了身份证看似不对,正如上面的评论中所提到的…

由于在这个阶段你的View还没有设置为你的Fragment (你还没有返回到框架),你不能在Fragment本身调用findViewById ,但你可以在新膨胀的View上做一个findViewById调用:

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

如果您使用的是Kotlin Android扩展程序,则可以使用以下语法:

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