1. 程式人生 > >從一個Activity返回一個Activity 或Fragment時回傳資料

從一個Activity返回一個Activity 或Fragment時回傳資料

在當前Activity或Fragment利用

Intent intent = new Intent(LoginActivity.this,MainActivity.class);
intent.putExtra("name”,"value”);(此處沒有用到)
startActivityForResult(intent, 0);

進行跳轉,同時重寫

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}

方法。

在目標Activity中返回裡寫

Intent intent = new Intent();
intent.putExtra("name”,"value”);
setResult(1,intent);
finish();

這樣返回後會進入當前Activity的onActivityResult方法

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == 1 && requestCode == 0){
        String string = data.getStringExtra("name");
    }
}

其中requestCode的值為跳轉到目標Activity之前所設定也就是0

resultCode的值為返回當前Activity時設定也就是1,主要用來區分資料。

即可獲取到目標Activity返回來的值,物件也可以用同樣的方法。