Tag: 片段 oncreateview

在onCreateView android视图是null

我写了一个自定义视图,用于在24小时的垂直滚动时间轴中显示事件。 在膨胀这个视图的片段的onCreateView方法中,我膨胀视图,然后尝试设置视图公开的回调。 但是,当我试图在自定义视图上设置属性时(即自定义视图为空),我得到一个空引用异常。 这是我的布局(我的自定义DayView约束布局内): <?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools"> <android.support.constraint.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".application.home.HomeActivity"> <com.condecosoftware.core.dayview.DayView android:id="@+id/dayView" android:layout_width="match_parent" android:layout_height="match_parent" app:timeColumnWidth="52dp" app:timeColumnPadding="16dp" app:hourHeight="96dp" app:textSize="14sp" app:eventNameTextSize="18sp" app:hourSeparatorHeight="1dp" app:timeTextColor="@color/slateGrey" app:timeColumnBGColor="@color/white_2" app:hourSeparatorColor="@color/white_2" app:nowLineColor="@color/lipstick" app:eventColumnBGColor="@android:color/white" app:eventBGColor="@color/brightSkyBlue" app:eventCornerRadius="3.8dp" app:eventTextColor="@android:color/white"/> </android.support.constraint.ConstraintLayout> </layout> 现在,我应该注意的是,视图是膨胀和正确显示(如果我删除onCreateView中的回调的任务)。 这是导致NPE的代码(bizzarly,Kotlin不认为我试图访问的变量可以是空的(我不需要做安全的转换或任何东西来得到它)): @SuppressLint("MissingSuperCall") override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? { val viewBinding = FragmentBookingsTodayBinding.inflate(inflater ?: LayoutInflater.from(context)) // […]