從一個Activity返回一個Activity 或Fragment時回傳資料
阿新 • • 發佈:2018-12-18
在當前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返回來的值,物件也可以用同樣的方法。