• ベストアンサー

Androidで共通のレイアウトを使用する方法

Androidでパズルゲームを作ろうとしています。 10面あるステージを個別のアクティビティで作り、それぞれレイアウトXMLを用意しているのですが 画面上にはステージ共通の部分(スコア欄等)がある為、共通化したいと考えています。 例えば共通部分のみのXMLを作成し、ステージ毎のXMLでそれをincludeするような形は可能でしょうか。 また、他に良い方法がありましたらご教授願います。

質問者が選んだベストアンサー

  • ベストアンサー
noname#161640
noname#161640
回答No.1

レイアウトをViewインスタンスとして取得し、これを組み込みたいレイアウトにaddすればよいでしょう。レイアウトファイルからViewインスタンスを取得するにはLayoutInflaterというのを利用します。これで取得したものを、組み込みたいlayoutにaddViewで組み込めばよいでしょう。ただし、どんどんaddViewすると表示が増えてしまうので、現在表示しているviewをremoveViewで取り除いてから新しいviewをaddViewする、という形になるでしょう。 LayoutInflater flater = LayoutInflater.from(this); View newview = flater.inflate(R.layout.hoge_view, null); layout. removeView(oldview); layout.addView(newview);

himura99
質問者

お礼

私の使用バージョンだとfromメソッド辺りがエラーとなってしまいますが LayoutInflaterでレイアウトの切り替えが出来ました。 ご回答ありがとうございました!

関連するQ&A

専門家に質問してみよう