0

MainActivity と登録という 2 つのアクティビティを作成しました。MainActivity は、ユーザーが自分の名前とパスワードを入力するログインに使用されます。MainActivity には 3 つのボタンがあります

  1. ログインボタン
  2. 登録ボタン
  3. 終了ボタン。

ログインボタンを押すと、ユーザーは入力したユーザー名とパスワードを使用して自分のアカウントにログインします。登録ボタンをクリックすると、登録アクティビティに移動します。登録アクティビティには、メイン アクティビティに戻るための戻るボタンがあります。アプリケーションを完全に終了するために、メインアクティビティに 3 番目の終了ボタンがあります。終了ボタンのインスタンスを作成し、終了ボタンの setonclicklistener 部分に次のコードを記述しました。

Button exit=(Button)findViewById(R.id.exit);
exit.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        finish();
        System.exit(0);         
    }
});

最初にアプリケーションを実行すると、メインアクティビティが表示されます。登録ボタンをクリックすると、登録アクティビティが表示されます。登録アクティビティで戻るボタンをクリックすると、メイン アクティビティに移動します。その後メインアクティビティからExitボタンを押すと、アプリが閉じてホーム画面が表示されます。アプリケーションをもう一度開くと、メインのアクティビティではなく、登録アクティビティが表示されます。私を助けてください。登録アクティビティではなく、アプリケーション アイコンをもう一度クリックすると、メイン アクティビティが表示される必要があります。とても長い質問で申し訳ありません。誰でも私を助けてください..

4

4 に答える 4

1

MainActivity 内の Android Manifest.xml ファイルにこのタグを追加します。

android:clearTaskOnLaunch="true"
于 2014-01-06T20:03:36.367 に答える
0

メインアクティビティからAPIを使用して登録アクティビティを開始しstartActivityForResult()、終了ボタンのクリックコールバックからアクティビティを呼び出す必要はありfinish()ません...

于 2014-01-06T20:01:24.570 に答える
0

noHistory に関するhttp://developer.android.com/guide/topics/manifest/activity-element.htmlから:

これを Manifest.xml ファイルの avtivity タグの間に追加してみてください。

android:noHistory="true"

于 2014-01-06T20:29:06.750 に答える
0

これを登録アクティビティに追加してみてください。

public void onBackPressed() {           
        finish();
}

そして、System.exit(0);すでに呼び出しているため、を削除するだけですfinish();

于 2014-01-06T20:08:57.717 に答える