2

私は3つの活動をしています。A、B、C としましょう。主な活動は A です。

A から B を開始し、B から C を開始し、C が開いたら B を閉じます。最後に、C のクローズ時にデータを A に渡します。

特に Intent と startActivityForResult でこれが可能になるのはなぜですか? 後者の2つの方法でそれはまったく可能ですか?

ありがとう。

4

3 に答える 3

3

ボタンを使用しているとします。ボタンをクリックしてアクティビティ C を開始すると、アクティビティ B を終了し、アクティビティ A でアクションを取得できます。

アクティビティ A で onActivityResult() を使用します。このポントで、startActivityForResult() を使用してアクティビティ C を開始できます。

このようにして、C を終了すると、再び onActivityResult() を使用して A にデータを渡すことができます。

于 2014-10-28T23:27:02.867 に答える
1

レナン・ロペス・フェレイラの返事がうまくいきました。乾杯。

于 2014-10-29T14:44:30.297 に答える
0

インテントを使用して、いつでも B を A から開始し、C を B から開始できます。スタックから A を削除しているため、C は startActivityforResult() および onActivityResult) を使用してデータを A に直接渡すことはできません。(明らかではないですか、Aはメモリにも存在しません)。したがって、A が C のデータにアクセスできるようにするには、C のデータをどこかに保存しておく必要があります。これにより、A が次に起動したときにアクセスできるようになります。ここで、もう 1 つのシナリオは、永続データまたは非永続データとして保存することです。データを永続化したい場合は、Shared Preferences、Database などを使用することをお勧めします。データを非永続化したい場合は、Singleton などを使用できます。

参照: http://developer.android.com/guide/faq/framework.html

于 2014-10-29T05:14:25.200 に答える