diadia

興味があることをやってみる。自分のメモを残しておきます。

アクティビティから結果を取得する

参考

アクティビティから結果を取得する

[Kotlin] Androidの画面遷移とアクティビティ間の値の受渡し

intentをスタートする時

startActivity()を使うのではなく、startActivityForResult()を使わないとデータの受け渡しができない。 そのほかの条件としてonActivityResult()を使う必要がある。

startActivityForResult()の使い方

startActivityForResult()メソッドの引数に整数を渡す必要がある。整数の値によって戻ってきた値に正常性があったり、異常性があったりを判断するようだ。

結果をアクティビティから受け取るために

onActivityResult()メソッドを使うようだ。

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent) {
...
}

第一引数requestCodeは、startActivityForResultで渡した引数(整数値)である。 第二引数はActivity.RESULT_OKまたはActivity.RESULT_CANCELEDである。これらには整数値が与えられている。 第三引数は結果のデータが入った Intentである。

setResult()メソッドについて

setResult())

Activity.getCallingActivity()

Activity.getCallingActivity() は、startActivityForResult()の呼び出し元がわかる。startActivity()だとわからない。 https://developer.android.com/reference/android/app/Activity.html#getCallingActivity())

Intentを用いたActivity間のやりとり