Android – 画面要素の階層構造を取得する

投稿者: | 2019年2月2日

Android開発をしていて、画面上で少し複雑な構造を動的に追加していくと、要素の階層構造を取得したくなることがあります。

今回は画面上に表示されている要素の階層構造を取得するプログラムを作成してみます。

 

やりたいことは、次のような画面で、「追加」ボタンを押す度に赤枠部分が動的に追加され、その都度、要素の階層構造をログに表示することです。

 

追加される要素群には、テキストフィールド、ラジオボタン、チェックボックスを設けました。

 

まず、string.xmlで画面文言を定義。

 

次にメインのレイアウトを定義します。

 

そして「追加」ボタンを押す度に追加される要素群を、別のレイアウトxmlで定義します。

 

最後にActivityコード。Logcatに文字列が表示されるようにしています。

 

初期画面はこんな感じ。ここからスタートします。

 

「追加」ボタンを一回押したとき。要素が追加されると共に、Logcatに要素名が表示されています。

 

さらにもう一度「追加」ボタンを押すと、再度要素追加が行われ、Logcatに現れる階層構造も一つ増えています。