1
ボトムシートの実装を処理するカスタムビューを作成しました。 BottomSheetBehavior.from(this)
を使用してボトムシートの動作を取得しようとしましたが、コンストラクタの動作が必要なので、this
はまだ初期化されていません。カスタムビューのコンストラクタでCoordinatorLayoutビヘイビアを取得
今のところ、私は、動作を取得し、私が必要とすることを行うために1ミリ秒でpostDelayed実行可能ファイルを使用して回避策を管理しましたが、それは明らかにハックです。
私は動作を得る他の方法を見つけることができませんでした。
[EDIT]
見た後少し深く、初期化されていないthis
は問題ではないようです。問題は、
BottomSheetBehavior.from
がコンストラクタから直接呼び出されたとき
CoordinatorLayout.LayoutParams
のインスタンスではなく、コンストラクタで作成された実行可能ファイルから呼び出されたときに
CoordinatorLayout.LayoutParams
になることです。
あなたは 'view.post(Runnable)'メソッドを使ってみましたか?これは、ビューの保留中のタスクが完了すると実行されます。 –