2013年4月24日水曜日

Activity へ layout を適用する

Android アプリケーション作成時に BlankActivity を選ぶと Hello World ! と表示されるだけのアプリケーションが作成されます。


MainActivity.java は以下のようになっています。


package com.example.setcontentview;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

}


onCreate() メソッドの setContentView(R.layout.activity_main); という部分でビューを画面に追加しているようです。

この状態では /res/layout/activity_main.xml を参照しています。
/res/layout/ の中に xml ファイルを作成してみると、 R.java の中に自動的に xml ファイルへの参照が追加されます。
これを setContentView() メソッドへ渡せば OK です。

layout への参照が R.java へ自動的に追加されている

試しに res/layout/ 内に activity_main_2.xml を作成して、


setContentView(R.layout.activity_main_2);

としてみると、作成した画面が表示されることが確認できました。


activity_main_2 が表示される

R.java がとても重要です。


Android Developers - Reference : setContentView()
http://developer.android.com/reference/android/app/Activity.html#setContentView(android.view.View)

0 件のコメント:

コメントを投稿