【发布时间】:2019-07-19 07:05:11
【问题描述】:
我正在尝试构建一个简单的 Android 开关 (availabilitiesSwitch) 以显示约束布局的内容。
开关如下所示:
<Switch
android:id="@+id/availabilitiesSwitch"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:layout_marginEnd="16dp"
android:showText="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
片段中的代码是这样的:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
(activity as BaseActivity).run {
availabilitiesSwitch?.let {
it?.setOnCheckedChangeListener { buttonView, isChecked ->
if(isChecked) {
showShifts()
}
}
}
}
}
其中showShifts如下(setupAvailabilities是我要切换的约束布局):
fun showShifts() {
setupAvailabilities.visibility = View.VISIBLE
}
目前,availabilitySwitch 被评估为 null。谁能想到原因?
【问题讨论】:
-
在片段中,视图不会在 onCreate() 中膨胀。它们将在 onCreateView() 中膨胀,因此这是访问它们的最早可能性另见documentation for Fragment
标签: java android kotlin android-layout android-constraintlayout