2017-08-03 7 views
0

と呼ばれている:は私がメインの活動を起動すると、メインののonCreate()が呼び出され、そして立ち上げ活動が終了すると、onDestroy()は、これは私が私の活動立ち上げてる方法です

Intent intent = new Intent(Quotr.this, AddQuote.class); 
startActivityForResult(intent, ADD_QUOTE_REQUEST); 

そして、それを活動はfinish()

への呼び出しで終了しかし、私は彼らがしたくない場合に呼び出される(Quotr.classで定義された)主な活動にいる私のonCreate()onDestroy()方法で問題を抱えてきました。これらのメソッドの両方でLog.v()を呼び出して何が呼び出されていたのか、何が起きているのか、奇妙なことに、アクティビティが起動され、主アクティビティのonCreate()が呼び出され、メインアクティビティのonDestroy()メソッドが呼び出されます。

これは、主なアクティビティのonDestroy(私はアクティビティが実際に再作成されたときにのみ実行されると予想されるため、この時点でこれを回避する方法はわかりません)この新しいアクティビティが開始されるたびにではない)がアクティビティがまだ使用されている間に呼び出されています。

奇妙なことに、これはこの特定のアクティビティでのみ発生します。私が知る限り、他のすべてのアクティビティの意図を全く同じ方法で呼び出して終了していますが、このAddQuote.classのような主なアクティビティのライフサイクルを混乱させることはありません。

私はこの時点で他に何が確認できるのか本当に迷っています。私はマニフェストに何か間違っているかどうかを調べました。アクティビティのライフサイクルを理解していることを確認しましたが、これは本当に意味をなさないものです。

答えて

0

ああ私の神、だから私は馬鹿だ。

私は、1年半かけてゆっくりと構築されたアプリを開発しています。アプリで初めての試みでした。何らかの理由で、私がアプリで行った最初の新しい活動(私が問題を抱えていたもの)のために、私はAppCompatアクティビティの代わりにメインアクティビティを拡張していました。 super.onCreate()とsuper.onDestroy()への私の呼び出しは、それがスーパークラスであるため、メインアクティビティを呼び戻していました。

誰かがこの間違いを犯す機会があっても、これを残しておきます。うまくいけば、誰かを助けてくれるだろ

関連する問題