画面遷移のお話

どうもアクティビティを別に作成して明示的なインテントで呼び出す方法とひとつのアクティビティ内でリソースを切り替える方法があるみたい。

・別アクティビティにすると

戻るボタンで前の画面に戻れる。
ちょっと遅い

・同じアクティビティにすると

戻るボタンでアプリ終了
画面が複数に渡ると管理しずらい

などあるらしい。

とりあえず1アクティビティでの画面遷移を作ってみた

public class Test03 extends Activity {

    private EditText editText1;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // メイン画面表示
        SetupScreen_Main();
    }

    private void SetupScreen_Main() {

        setContentView(R.layout.main);

        editText1 = (EditText)this.findViewById(R.id.editText1);

        Button btn1 = (Button)this.findViewById(R.id.button1);
        btn1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {  
                btn1_onClick();  
            }
        });
    }

    private void SetupScreen_Sub(String text) {

        // サブ画面表示
        setContentView(R.layout.sub);
        // サブ画面のテキストボックスへセット
        EditText editText2 = (EditText)this.findViewById(R.id.editText2);
        editText2.setText(text);
        Button btn2 = (Button)this.findViewById(R.id.button2);
        btn2.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {  
                btn2_onClick();  
            }
        });
    }

    protected void btn1_onClick() {
        // メイン画面のテキストボックスから内容取り出し
        String editTextData = editText1.getText().toString();
        // サブ画面表示
        SetupScreen_Sub(editTextData);
    }

    protected void btn2_onClick() {
        // メイン画面表示
        SetupScreen_Main();
    }
}