安卓startActivityForResult用法
阿新 • • 發佈:2017-09-22
protected sources oid int string tac get equal finish
startActivityForResult的作用就是它可以回傳數據,假如我們有兩個頁面A和B,點擊A頁面的一個按鈕,進入下一個頁面B,進入頁面B後,進行設置操作,並在finish()或者back後,將B中設置的值回傳給A頁面,A頁面來顯示所得到的值。有點像回調方法,在第二個頁面finish()後會回調第一個頁面onActivityResult()方法。代碼如下:
在A頁面 點擊一個按鈕進入B
A頁面代碼:
Intent intent = new Intent();
intent.setClass(A.this, B.class);
startActivityForResult(intent, 3);
B頁面代碼:
Intent data = new Intent();
data.putExtra("hospital", HosName);
data.putExtra("hos_id", HosId);
setResult(3, data);
finish();
A頁面代碼:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (3 == requestCode) {
hosName = data.getExtras().getString("hospital");
hosId = data.getExtras().getString("hos_id");
if (!hosName.equals("")) {
select_area.setText(hosName);
select_area.setTextColor(getResources().getColor(R.color.black));
} else {
select_area.setText("請選擇轉診醫院");
select_area.setTextColor(getResources().getColor(R.color.hintgray));
}
}
}
安卓startActivityForResult用法