を使用して、ViewStub
レイアウトを に動的に膨張させていbottom sheet
ます。ViewStub が一度膨張するとコードで使用できない場合を除いて、すべて正常に動作します。
たとえば、レイアウトをインフレートすると ( を使用するのView.VISIBLE
ではなく.inflate()
、ビュー スタブを使用できなくなります。可視性を変更すると、エラーが発生します。
これは私のコードです:
weight_force_button.setOnClickListener {
mechanical_view.layoutParams = layoutParams
mechanical_view.layoutResource = R.layout.sheet_weight_force
mechanical_view.visibility = View.VISIBLE
dialog.state = BottomSheetBehavior.STATE_EXPANDED
}
close_button.setOnClickListener {
dialog.state = BottomSheetBehavior.STATE_COLLAPSED
mechanical_view.visibility = View.GONE
}
weight_force_button
これは、ユーザーがまたはをクリックした後のエラーclose_button
です。
java.lang.IllegalStateException: Mechanical_view を null にすることはできません