3

認証を必要とする小さなアプリを構築しています。私の主なアクティビティにはParcelable、ユーザーのユーザー名とパスワードを含む「user」という名前のクラスがあります。ユーザーがボタンをクリックすると、そのユーザー クラスを渡す新しいアクティビティが開始されます。子アクティビティでユーザーがフォームに入力して認証し、ユーザーが戻るボタンを押すと、「ユーザー」クラスをメインアクティビティに送り返したいと思います。

それは可能ですか??

4

1 に答える 1

13

お子様のアクティビティを次のように開始します。

startActivityForResult(startIntent, 1);

子アクティビティで、戻るボタンをインターセプトし、データを追加します。

@Override
public void onBackPressed() {
    Intent data = new Intent();
    data.putExtra("key", yourDataHere);
    setResult(Activity.RESULT_OK, data);
    super.onBackPressed();
}

親アクティビティ内のデータを取得しますonActivityResult

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if(requestCode == 1 && resultCode == Activity.RESULT_OK){
        DataType yourData = (DataType) data.getParcelableExtra("key");
        //Do whatever you want with yourData
    }
}
于 2013-06-21T19:25:56.790 に答える