傳遞值從一個活動到另一個:
Intent intent = new Intent(context, CalledActivity.class);
intent.putExtra(key, value);
startActivity(intent);
如果你想要一些數據,從所謂的活動回來,那麼你可以使用startActivityForResult()爲:
Intent intent = new Intent(context, CalledActivity.class);
intent.putExtra(key, value);
startActivityForResult(intent, requestCode);
在被調用的活動中,您可以設置數據爲:
setResult(RESULT_OK, intent);
注意:在這裏您設置意圖的值並將其傳遞給setResult()。
在返回返回到調用活動,你可以通過重寫得到的數據:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode == RESULT_OK){
//Get data from Intent "data" and do your task here....
}
}
注意:您可以通過基本數據類型值直通意向,如果你想通過其他的類型,那麼你必須使用捆綁像這個。
Bundle data = new Bundle();
data.putIntArray(key, value);
//同樣的方式,你可以設置其他值....... //現在這個捆綁值作爲你的基本類型做設置爲意向....在活動
Intent intent = new Intent(context, CalledActivity.class);
intent.putExtra(data);
startActivity(intent);
接收數據:
//
對於基本值:
DataType var_name = getIntent().getExtras().get(key);
//
對於捆綁值:
Bundle var_name = getIntent().getExtras().getBundle(key);