0

LoginActivityログイン UI と を含む2 つのアクティビティがありますHomeActivityHomeActivityに、以下のメソッドを呼び出すボタンを配置しました。

public void goToLoginPage(View view) {
    finish();
    super.finish();     
    Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
    startActivity(i);
}

しかし、このボタンをクリックすると、最後に入力した資格情報を含むログイン ページが再び表示されます。代わりに、新しいログインページが必要か、少なくとも最後に入力された資格情報が必要です。

4

5 に答える 5

0

あなたの情報に基づいて、LoginActivty は開始アクティビティであり、ログインが成功した後、そのアクティビティは HomePageActivity を開始します。LoginActivity に戻るには、次のコマンドを実行できます。

Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();

これは、LoginActivity が HomePageActivity を起動したときに、それ自体で finish() を呼び出さなかった場合にのみ機能します (つまり、LoginActivity のインスタンスがアクティビティ スタックにまだ存在している必要があります)。また、LoginActivity の launchMode は、デフォルト (つまり、まったく指定されていない) または「標準」のいずれかでなければなりません。

これにより、LoginActivity の現在のインスタンスが終了し、LoginActivity の新しいインスタンスが作成され、onCreate() メソッドが呼び出されます。

于 2012-07-05T12:21:47.683 に答える
0

次のアクティビティを開きたいときにログインが成功した場合は、ログイン アクティビティを終了します。これにより、次回インテントを使用してログインを開始すると、新しいログインページが開きます

于 2012-07-05T11:29:43.987 に答える
0

HomeActivity を開始するときに LoginActivity で finish() メソッドを呼び出すと、LoginActivity が破棄されます。startActivity を呼び出して LoginActivity を開始すると、LoginActivity は新しいものをインスタンス化します。

私はアンドロイド開発の初心者です。

于 2012-07-05T11:30:40.683 に答える
0

以下のコードを試してください。

Intent i = new Intent(HomePageActivity.this, LoginActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
于 2012-07-05T11:30:58.837 に答える
0

LoginActivityのOnPause()に以下のコードを記述

protected void onPause()
{
super.onPause();
username.settext("");
password.settext("");
}
于 2012-07-05T11:32:11.230 に答える