2

私は次の活動をしています(Pinterestアプリを想像してください):

2つのボタンを備えたWellcomeActivity-サインアップとログイン

あなたがWellcomeActivityからここに来るLogInActivity

あなたがWellcomeActivityからここに来るSignUpActivity

MainActivity-ログインまたはサインアップした後にここに来ます。

ユーザーがサインアップまたはログインすると、またはに電話finish()して開始します。しかし、スタックに残っているので、戻るボタンを押すと、再びになります。LogInActivitySignUpActivityMainActivityWellcomeActivityWellcomeActivity

ユーザーが戻ることを決定した場合、ユーザーがアプリを終了するため、開始時またはfinish()開始時に呼び出すことができません。LogInActivitySignUpActivity

では、Pinterestのようなロジックを持つようにアクティビティトランジションを設計するにはどうすればよいですか?

4

2 に答える 2

0

私は同様のアプリケーションを持っています。私がやったことは、フィールドとして「ログイン」と「サインアップ」を持った共有設定ファイルを作成することでした。彼らがサインアップまたはログインするとき、私はこの値を真にします。

アプリでは、メインアクティビティに戻ったときに、onActivityResultを確認し、サインアップまたはログインしている場合は、アクティビティをfinish()します。

このように、彼らがログインまたはサインアップする前に戻ったとき、それはそれを閉じません。ご理解頂けるとありがたいです。

于 2012-12-02T20:00:05.593 に答える
0

この回答を参照してください

WelcomeActivityから、startActivity()の代わりに、LoginActivityまたはSignupActivityを開始するときにstartActivityForResult()を呼び出します。次に、WelcomeActivityのonActivityResult()で、resultCodeが1の場合にfinish()を呼び出します。

ここで、サインアップのログインが成功したら、ログイン/サインアップアクティビティでResult(1)を設定します。これにより、WelcomeActivityのonActivityResult()がresultCodeを1として呼び出され、finish()されます。ログインまたはサインアップが失敗した場合は、setResult(0)を呼び出します。

また、setResult(1)の後で、startActivity()を実行してMainActivityを呼び出します。

于 2012-12-02T20:01:58.397 に答える