Hierarchy Viewer を使用して分析しようとしているフラグメントベースのアプリがあります。私の問題は、分析する必要があるビューがビューアーに表示されていないことですが、エミュレーターには明確に表示されています。
フラグメントを起動した FragmentActivity があります。そのフラグメントは FragmentDialog.show(getActivity().getSupportFragmentManager(), "token") を使用して FragmentDialog を起動しました。その FragmentDialog は、AlertDialog.show() を使用して AlertDialog を起動しました。エミュレーターでは、FragmentDialog が表示され (全画面表示)、AlertDialog がその上に浮かんで表示されます。
Hierarchy Viewer の Windows ペインに、アクティビティが一覧表示されます。それを選択してビュー階層をロードすると、フラグメントのビュー階層が取得されます (エミュレーターには現在表示されていません)。
Hierarchy Viewer Windows ペインで、Activity のすぐ上に 2 つの空白行があることに注意してください (添付の画像を参照)。これらは、「欠落している」DialogFragment と AlertDialogs に関連していると思われます。残念ながら、これらの空白行のいずれかを選択して、それぞれのビュー階層を読み込むことはできません。
これらの2つのウィンドウに関連付けられた名前を取得する方法、またはHierarchy Viewerにコンテンツの表示に協力させる方法はありますか?
(追加の背景として、DDMS の観点から「Dump View Hierarchy」を使用すると、ダンプには DialogFragment と AlertDialogs が含まれます。残念ながら、このツールは、何が起こっているのかを把握するために必要な内部データ (レイアウト パラメータ) を提供しません。)