画面遷移
ボタンを追加した Hello World をベースに作る。
パッケージ・エクスプローラーの res/layout のフォルダアイコンを右クリックして、
[新規]→[ファイル] で、second_screen.xml を追加する。
中身がないのでエラーアイコン(小さな赤い×マーク)が表示されてる。
中身は、res/layout/main.xml からコピペ。
全く同じだと画面の切り替わりを目視で確認できないので、
android:text="@string/hello" と、Button01 のところを、変えておく。
Button01 は、Button02 に変更。
button01_name は、button02_name に変更。
hello は hello2 に変更。
button02_name, hello2 の文字列リソースを追加。
SecondScreenActivity.java と言うファイル名のソースを追加。
内容は写真の通り。
HelloWorldActivity の中身も書き換える。
画面の遷移には Intent を使う。
startActivityForResult() で SecondScreenActivity を表示させる。
startActivityForResult() の場合、SecondScreenActivity からの戻り値通知を受け取れる。
戻り値がいらない場合は、startActivity() で良い。
SecondScreenActivity の方は、startActivityForResult() で呼ばれているので、setResult() で返値を通知。
finish() で SecondScreenActivity を終了する。
startActivity() で呼ばれた場合は、たぶんこの方法ではダメで、startActivity() で戻るのだろう(未確認)。
次に、AndroidManifest.xml に SecondScreenActivity を追記する。
これを忘れると、SecondScreenActivity に切り替わろうとした瞬間に強制終了してしまうので注意。
逆に言えば、画面遷移時の強制終了は、AndroidManifest.xml への追記忘れの可能性がある。
アプリケーションタブで GUI を使って追加することも出来るが、
xml に直接入力しても大丈夫みたい。
なぜか [!] が付くが、今は気にしない。
実行。
クリックすると・・・
もう一度クリックすると、前の画面に戻る。
無事に切り替わる。
現状 (2010/4/10 12:00ころ) では、ボタンの Text に日本語が入ってると、
レイアウトエディタで正常に表示されないみたい。
でも、実際にエミュレータで動かしてみると、しっかり日本語のボタンが表示されるから、
実用上は問題ないだろう・・・たぶん。
以上。
[戻る]