私はアンドロイドの初心者です。誰かがこれの例で私を助けることができますか?
これまで検索してきましたが、役に立つものは見つかりませんでした。親アクティビティを閉じるには、setResult()メソッドを使用して子アクティビティも閉じる必要があることがわかっただけです。
私がまさに探しているのは、私の親の活動は、子の活動を終了せずに、子の活動から閉鎖されるべきであるということです。
私はアンドロイドの初心者です。誰かがこれの例で私を助けることができますか?
これまで検索してきましたが、役に立つものは見つかりませんでした。親アクティビティを閉じるには、setResult()メソッドを使用して子アクティビティも閉じる必要があることがわかっただけです。
私がまさに探しているのは、私の親の活動は、子の活動を終了せずに、子の活動から閉鎖されるべきであるということです。
子アクティビティから、親アクティビティを返すgetParent()メソッドを使用して、finish()を実行してみてください。
アクティビティ バック スタックはスタックのように機能します。つまり、アクティビティをポップしてスタックにプッシュできます。スタック上のアクティビティを最初に削除しない限り、スタックからアクティビティを削除することはできません。したがって、子供が最初に自分自身を終わらせずに、親の活動を終えることはおそらく不可能です。
launchmodesとIntent flagsを使用してアクティビティ バック スタックを並べ替えたり、クリアしたりするために使用できる方法がいくつかあります 。
タスクとバックスタックについて読むことをお勧めします
まず、Android のアクティビティは、記憶が正しければアクティビティ スタックと呼ばれるスタックに置かれます。アクティビティを開始すると、スタックに影響を与えるインテント フラグを追加できます。
addFlags(インテント.FLAG_ACTIVITY_CLEAR_TASK)
私はあなたが以前にやろうとしていることをやったと思います(私が使用したフラグはわかりませんが、それはずっと前のことです:p)。ただし、アクティビティ タスクについて読んで、実行しようとしていることに適したインテント フラグを確認してください。
アクティビティ A -> アクティビティ B 、アクティビティ A を削除、
これがあなたが探しているものなら
Intent intent = new Intent(this, B.class);
startActivity(intent);
finish();