質問: builder.create(); alertDialog.show(); alart.setUsername(username); System.out.println("LocationActivityで取得されるusername:"+username); } ``` ``` 06-10 05:50:02.567 17954-17954/com.example.android.sample.new3 I/System.out:LocationAcitivityで取得されるusername:null 06-10 05:50:07.624 17954-17954/com.example.android.sample.new3 I/System.out: 新規登録ボタンを押してEdittextから取得したusername:saito ``` このように、 alertDialog.show();された時点のusernameがsetUsenrmae()されてしまうため、 新規登録ボタンを押して、EditTextの値を、alart.setUsername(usernmae)で、セットした後に、再度、onStart()をして、LocationActivityに移動して、そこで、usernameにセットしたいです。
回答: あなたの対策では実装できません。 Activity#onStartはプログラマが呼ぶものではないし、Intentは正しく使わないとまた別のActivityインスタンスを生成するだけです。 AlertDialogからActivityに処理を戻したいのであれば下記の実装をする必要があります。 ・コールバックインターフェースを定義する。 ・コールバックインターフェースをActivityに実装する。 ・新規登録ボタンを押した時にコールバックメソッドを呼ぶ。 また、質問文から具体的になにをしたいのかがわからないので処理を箇条書きにして質問を整理することをお勧めします。