Activity.setContentView

Activity.setContentViewは、Activityにビューを配置するメソッド・・・。

Activity | Android Developers

これまでも、setContentViewを使って、静的なリソースとして定義されたビューを配置してきた・・・。

"R.layout.activity_main"は、activity_main.xmlのことで、ここに定義されたビューを配置するという意味・・・。

今回は、これを使わず、Java側で動的にビューを作成して配置する・・・。
なのでここはコメントアウト・・・。

Buttonオブジェクトインスタンスを作成し、buttonに格納・・・。
ButtonのコンストラクタにはContextオブジェクトを指定するが、Activity自身がContextから派生しているのでthisでMainActivity自身を渡す・・・。
それをsetContentViewに渡している・・・。

これでButtonだけの画面が表示される・・・。

そして、

と、リソース側は"Hello world!"のTextViewだけの定義に戻しているが、これらはセットしていないので表示されない・・・。

f:id:BG1:20160220184836p:plain

わかりにくいが、このグレーの領域全体が大きなButtonである・・・。
押したら、色が変わるので反応しているのがわかる・・・。
(押しても何も起きないが・・・。)

Sample/MainActivity.java at master · bg1bgst333/Sample · GitHub
Sample/activity_main.xml at master · bg1bgst333/Sample · GitHub
Sample/strings.xml at master · bg1bgst333/Sample · GitHub
Sample/AndroidManifest.xml at master · bg1bgst333/Sample · GitHub