【Java→Android】Viewを移動してみる1
言い換えると「Activityを作って移動する」をやってみた。
やりたいことは
(1)画面にボタンを1つくっつけて初回起動。
(2)ボタンをクリックすると次のVIEWへ移動。
(1)画面にボタンをくっつけて初回起動
これ、レイアウトエディタからやってみた。
res/layout/main.xmlを開いてボタンをくっつけ、プロパティの「ID」に名前をつける。
つけたのは「@+id/Btn1」
Activityクラスでは
Button btn = ( Button ) this.findViewById( R.id.Btn1 );
こんな感じで呼び出せる。
(2)ボタンをクリックすると次のVIEWへ移動
最初のアクティビティのcreate時にボタンを(1)のように呼び出して、そこにリスナーを設定する。
// ボタンをIDで取得 Button btn = (Button) this.findViewById(R.id.Btn1); // リスナーの設定 btn.setOnClickListener( new View.OnClickListener() { public void onClick( View v ) { moveView(); } });
リスナーから呼び出されるメソッドをとりあえず空で記述する。ここではmoveViewメソッド。
private void moveView() { }
次に、遷移先のActivityを準備。
res/layout以下に、遷移先のActivity用の定義ファイルを作成。面倒なのでmain.xmlをぱくって使用。またActivityクラスを、呼び出し元のcreateをぱくって簡単に作成。(ボタンの部分は不要)
で、ここが大事!
res直下にあるAndroidManifest.xmlの「Application Nodes」に作成したActivityを登録しないと呼び出せない。
呼び出し元のActivityの定義を真似て追加すること。
最後に、ボタンクリックのリスナー処理を記載。
ここでのポイントはIntentだが、省略する。
private void moveView() { Intent intent = new Intent( SampleViewActivity.this, SongDtlActivity.class ); startActivityForResult( intent, 0 ); }
これでViewの一番簡単な遷移が実現できた。