91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

用startactivityforresult實現多Activity交互

小樊
89
2024-09-02 19:57:56
欄目: 編程語言

startActivityForResult 是 Android 中一種常用的 Activity 之間通信方式,它允許你從一個 Activity 啟動另一個 Activity,并在第二個 Activity 完成操作后返回結果給第一個 Activity。以下是如何使用 startActivityForResult 實現多個 Activity 之間的交互:

  1. 在第一個 Activity(發起請求的 Activity)中,使用 startActivityForResult 方法啟動第二個 Activity:
Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);

這里的 REQUEST_CODE 是一個整數常量,用于標識該請求。你可以根據需要定義不同的請求碼。

  1. 在第二個 Activity(被啟動的 Activity)中,處理完操作后,使用 setResult 方法設置結果,并調用 finish 方法關閉 Activity:
Intent resultIntent = new Intent();
resultIntent.putExtra("result_key", "result_value");
setResult(RESULT_OK, resultIntent);
finish();

這里的 result_keyresult_value 分別表示結果的鍵和值。你可以根據需要自定義這些值。

  1. 在第一個 Activity 中,重寫 onActivityResult 方法以接收第二個 Activity 返回的結果:
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (requestCode == REQUEST_CODE && resultCode == RESULT_OK) {
        String result = data.getStringExtra("result_key");
        // 處理結果
    }
}

這里的 requestCoderesultCode 分別表示請求碼和結果碼。當 requestCode 與發起請求時的請求碼相等,且 resultCodeRESULT_OK 時,你可以從 data Intent 中獲取返回的結果,并進行相應的處理。

通過以上步驟,你可以實現多個 Activity 之間的交互。如果需要與更多 Activity 交互,只需按照相同的方式啟動新的 Activity 并處理返回的結果即可。

0
安塞县| 潜山县| 墨竹工卡县| 苗栗县| 色达县| 民和| 肃北| 仁寿县| 腾冲县| 教育| 百色市| 呼伦贝尔市| 镇赉县| 和硕县| 兖州市| 涪陵区| 拉孜县| 蛟河市| 双牌县| 千阳县| 青浦区| 涟水县| 固安县| 丹棱县| 左云县| 郴州市| 鹤庆县| 赤壁市| 兴仁县| 淳安县| 马龙县| 闽侯县| 溆浦县| 唐海县| 扶风县| 孟津县| 隆化县| 石台县| 平阳县| 潼关县| 北海市|