2017-03-01 6 views
1

基本的に、電話でBACKボタンを押すと、特定のアクティビティがアンドロイドで前回のアクティビティに戻ることを防ぎます。いくつかのアクティビティでフラグメント化されていないアクティビティーを無効にするにはどうすればいいですか?

具体的には、私はログインとサインアップの画面を持っています。ログイン/サインアップに成功すると、HomeScreenという新しいアクティビティが開始されます。 HomeScreenを起動すると、ユーザーがログインを返すことができないようにしたり、BACKキーを押して画面にサインアップすることもできます。たとえば、共有、通信などの断片にナビゲートすることができます。

私は、backKeyを押したときにfinish()メソッドを使うと考えましたが、それはアプリケーションを終了してしまい、私はそれも望んでいません。あなたが試すことができ

Intent intent = new Intent(this, HomeScreen.class); 
startActivity(intent); 
finish(); 
+1

ジャストホームスクリーンのアクティビティを起動する活動を終了し、それは私のコードは次のようであるスタック –

答えて

1

public void onBackPressed() { 
     if (getSupportFragmentManager().getBackStackEntryCount() > 1) { 
      getSupportFragmentManager().popBackStack(); 
     } else { 
      finish(); 
     } 
    } 

・ホープ、このことができますあなたはホームスクリーンのインテントを開始

1

コール仕上げ()。

+1

で最初次のようになります。 @Override ます。public void onBackPressed(){ int型のカウント= getFragmentManager()getBackStackEntryCount() - 1; if(count == 0){ super.onBackPressed(); else { getFragmentManager()。popBackStack();細かい作業が、私は成功したホームスクリーンにサインインまたはサインアップの活動とnavigteからログインして、キーをバック押すと、それは、サインインまたはサインアップ活動を私に返し、私はちょうどそれを防ぐために必要され } } 。 –

関連する問題