1

私は3つの活動をしています。A、B、および C. A は B を開始し、B は C を開始します。C のバックスタックから B を削除します。次に、C を終了する前に、C から A にデータを渡す必要があります。 C から A ?

4

5 に答える 5

1

C アクティビティを終了する前に C から A にデータを渡したい場合は、A アクティビティでブロードキャスト レシーバーを使用して、C から A にブロードキャストを直接送信できます。

A からアクティビティ B を開始する前に、次のコードを記述します。このコードは、アクティビティ C からデータを受け取ります。

BroadcastReceiver brd_receiver = new BroadcastReceiver() {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals("receive data from C")) {
            // DO YOUR WORK HERE.
        }

    }
};

registerReceiver(brd_receiver, new IntentFilter("receive data from C"));

このコードを記述して、アクティビティ C からアクティビティ A にデータを送信します。

Intent intent = new Intent();
        intent.setAction("receive data from C");
        intent.putExtra(name, value); //SAVE YOU DATA INTO INTENT.
        sendBroadcast(intent);

うまくいかない場合は、問題を教えてください。うまくいくはずだと思います。

于 2012-06-12T04:08:12.250 に答える
1

クラスを作成し、Singleton クラスにします。次に、setter メソッドと getter メソッドを使用して、あるクラスから値を設定し、別のクラスから値を取得します。

public class SingletonObjectDemo {
private String value;
// use setter and getter here...


private static SingletonObject singletonObject;
// Note that the constructor is private
private SingletonObjectDemo() {
    // Optional Code
}
public static SingletonObjectDemo getSingletonObject() {
    if (singletonObject == null) {
        singletonObject = new SingletonObjectDemo();
    }
    return singletonObject;
}

}

于 2012-06-12T04:17:48.520 に答える
0

Intent by Intent to Go C from Aを開始すると、データをputExtra of intentに渡すことができます。Cに戻って押すだけの場合は、共有設定などの一般的な場所にデータを書き込んで、Aからアクセスできるようにします。

于 2012-06-12T03:47:44.803 に答える
0

Handlerを使用して、あるアクティビティから別のアクティビティにデータを渡すか、 を使用して各アクティビティを開始できますstartActivityForResult()。次に、を使用しsetResult(resultCode, data)て、関数でアクセスできる前のアクティビティに余分なデータを渡すことができますonActivityResult(int requestCode, int resultCode, Intent data)

于 2012-06-12T03:48:11.307 に答える
0

このようにしてみてください;;

アクティビティ C で..

Intent intent = new Intent(getBaseContext(), A.class);
intent.putExtra("Your_key-ID", value);
startActivity(intent);

アクティビティAで..

Intent sender=getIntent();
String extraData=sender.getExtras().getString("Your_key-ID");

そして、このリンクをチェックしてください

http://mobileorchard.com/android-app-development-using-intents-to-pass-data-and-return-results-between-activities/

于 2012-06-12T03:49:46.987 に答える