有時候我們會遇到A activity要用B activity的處理結果,比如二維碼掃描。
這時候便會用到startActivityForResult這種方式。
使用方式:
在MainActivity中:
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivityForResult(intent, REQUEST_CODE);
當然還必須實現onActivityResult方法
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intentData) {
super.onActivityResult(requestCode, resultCode, intentData);
if (requestCode == REQUEST_CODE && resultCode == SecondActivity.RESULT_CODE) {
textView.setText(intentData.getStringExtra("data"));
}
}
在SecondActivity中處理數據
Intent intent = new Intent();
intent.putExtra("data", editText.getText().toString().trim());
setResult(RESULT_CODE, intent);
finish();