2017-11-08 4 views
-2

私はアクティビティがあります。いくつかのものをチェックした後、以前のアクティビティがある場合は前のアクティビティに戻り、そうでない場合はSpecificActivityを開始したいと思います。どうすればいいのですか?前のアクティビティが存在するかどうかをチェック

編集: 私が何を意味したか理解していないように見えるので、言い換えてください。私はアクティビティAにいると言います。Aがスタック内の唯一のアクティビティであるかどうかはわかりません。他のアクティビティがある場合は、Aを終了し、スタック内のAの直下のアクティビティをフォアグラウンドにポップします。 Aがスタック内の唯一のアクティビティである場合、私はいくつかのアクティビティZを開始したいと思います。どのようにしたらいいですか?

+2

[活動を知る方法は?](https://stackoverflow.com/questions/8756938/how-to-know-activity-has-been-finished) –

+0

これらは異なる質問です –

答えて

1

あなたは単にあなたがスプラッシュとDashboardActiviy両方から余分な意思としてクラス名を渡す必要がonBackpress()

@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
     startActivity(new Intent(this, Destination_Activity.class)); 
     finish(); 

    } 
+0

これは私が頼んだことではなく、うまく動作しません。私はより良い理解のために質問を言い換えました。もしあなたが助けることができれば、それはいいだろう。 –

1

を上書きすることができます。

In Listアクティビティでは、getIntent()を使用してクラス名を取得する必要があります。

ユーザーが[戻る]ボタンをクリックすると、決定することができるクラス名を確認する必要があります。

if(name.equalIgnorecase(DashboardActivit.class.getSimpleName()){ 
    //Add your intent 
}else{ 
    // 
} 

これは次のように次のアクティビティを呼び出す

+0

私は質問を言い換えました。再度確認してください。 –

1

を試してみてください、あなたにyou.Giveに明確な解決策を与える可能性があります。

Intent intent = new Intent(this,Your_Next_Activity.class); 
startActivity(intent); 

それはあなたの別のアクティビティを呼び出します、あなたはので、この中であなたの次のアクティビティを呼び出した後finish()を使用していない、それはあなたの現在の活動を終了します次のアクティビティを呼び出した後finish()を使用する場合は、あなたの現在の活動が背景になりますシナリオ。 その後、戻るボタンを押すと自動的にfinishがアクティブになります。

+0

これは私が求めたものではなく、うまくいかないものです。私はより良い理解のために質問を言い換えました。もしあなたが助けることができれば、それはいいだろう。 –

関連する問題