プロが教えるわが家の防犯対策術!

Androidでパズルゲームを作ろうとしています。
10面あるステージを個別のアクティビティで作り、それぞれレイアウトXMLを用意しているのですが
画面上にはステージ共通の部分(スコア欄等)がある為、共通化したいと考えています。

例えば共通部分のみのXMLを作成し、ステージ毎のXMLでそれをincludeするような形は可能でしょうか。
また、他に良い方法がありましたらご教授願います。

A 回答 (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);
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/04/20 08:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!