1. ホーム
  2. アンドロイド

android:bug Fragment not attached to Activity , fragment not attached to a context.

2022-03-16 14:30:41

ネット上では、アクティビティが再構築されたときに、フラグメントがまだコンテキストを使用している場合、例えば、画面が突然水平になり、フラグメントがウェブインターフェースにアクセスしているとき、この問題は  new ProgressDialog(context, R.style.waitting_dialog); フラグメントの内部で isAdded() を使用すると、フラグメントがアクティビティにバインドされているかどうかを判断することができます。

これは私が遭遇した問題と同じではありません。私のアクティビティは再構築されず、横にも行かず、初期化中にクラッシュしました。バグは、viewPagerが最初はGONE状態で、描画によってロードされていなかったために発生しましたが、フラグメントはすでに作成されており、色を取得するためにコンテキストを使用し、クラッシュしました。フラグメントはコンテキストに接続されていないのです。

回避策として、レイアウトファイルでViewPagerまたはViewPagerを含むViewGroupをVISIBLE表示に設定し、インターフェイスがロードされた後に

Handle handle = new Handle; 
handle.postDelayed(new Runable() {pubic void run() { view.setVisible(View.gone); }}, 200);

これは色やdrawableなどを取得し、Webフレームワーク、プロンプトを待つためにダイアログに必要なコンテキストは弱い参照を使用することが推奨されています