1. 程式人生 > >安卓startActivityForResult用法

安卓startActivityForResult用法

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用法