中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

startactivityforresult的用途是什么

小樊
83
2024-09-02 19:49:12
欄目: 編程語言

startActivityForResult是Android開發中用于啟動另一個Activity并期望從該Activity獲取返回結果的方法。其主要用途和用法如下:

主要用途

  • 啟動Activity并等待返回結果:在一個Activity中啟動另一個Activity,并期望從該Activity獲取一些數據或結果。
  • 數據傳遞:允許一個Activity啟動另一個Activity,并將數據傳遞給被啟動的Activity。被啟動的Activity處理完數據后,可以通過setResult方法將結果返回給啟動它的Activity,啟動的Activity通過重寫onActivityResult方法來接收和處理這些結果。

基本用法

  1. 啟動Activity并等待返回結果
Intent intent = new Intent(this, TargetActivity.class);
startActivityForResult(intent, REQUEST_CODE);
  1. 處理返回結果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
        // 處理返回的數據
    }
}
  1. 在被啟動的Activity中返回結果
Intent intent = this.getIntent();
String result = intent.getStringExtra("result");
setResult(Activity.RESULT_OK, intent);
finish();

示例

假設我們有兩個Activity:MainActivitySecondActivity。在MainActivity中,用戶可以點擊一個按鈕來啟動SecondActivity。在SecondActivity中,用戶可以輸入一些數據,然后點擊一個按鈕返回結果到MainActivity

  1. 在MainActivity中啟動SecondActivity
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
  1. 在SecondActivity中處理數據并返回結果
Intent intent = this.getIntent();
String input = intent.getStringExtra("input");
String result = processData(input); // 假設這是處理數據的方法
intent.putExtra("result", result);
setResult(Activity.RESULT_OK, intent);
finish();
  1. 在MainActivity中接收并處理返回的結果
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE && resultCode == Activity.RESULT_OK) {
        String result = data.getStringExtra("result");
        // 處理返回的數據
    }
}

通過這種方式,startActivityForResult允許Activity之間進行數據交換和結果傳遞,從而實現更豐富的應用交互。

0
柘城县| 丰城市| 武鸣县| 灵武市| 托克托县| 嘉鱼县| 周宁县| 南平市| 柳林县| 屯留县| 玉溪市| 湖南省| 山阴县| 黄梅县| 女性| 黎川县| 贡嘎县| 昭觉县| 大连市| 铜梁县| 上虞市| 县级市| 阿城市| 东安县| 德令哈市| 大名县| 永年县| 河西区| 榆社县| 万全县| 古浪县| 海原县| 眉山市| 获嘉县| 兴国县| 岳西县| 邢台县| 长寿区| 葫芦岛市| 新河县| 乐陵市|