Android學習之引數傳遞
我從今天開始學習Android,每天記錄學習內容,與大家一起進步!
1、安卓之引數傳遞
Intent是activity,應用組建進行通訊的橋樑,所以所有的引數傳遞都與它有關。
1.1引數傳遞方式 Intent
簡單引數傳遞:fatherActivity傳遞引數到sonActivity :
// Intent intent=new Intent(fatherActivity.this,sonActivity.class);
// intent.putExtra("tag","這是傳遞的引數");
// startActivity(intent);啟動子activity
sonActivity 接受引數的方式為: getIntent().getStringExtra("tag");//簡單引數
1.2複雜引數傳遞方式:
Bundle類用作攜帶資料,它類似於Map,用於儲存Key-Value名值對形式的值。相對於Map,它提供了各種常用型別的putXXX()/GetXXX()方法,putXXX用於將
資料放入Bundle物件中。
Intent intent=new Intent(MainActivity.this,aly.class);
Bundle data=new Bundle();
data.putString("txt","hello1");//複雜資料的傳遞
startActivity(intent);啟動子activity
子頁面獲取資料
Bundle data=getIntent().getExtras();//複雜資料的接收
data.getString(Key);
1.3帶返回值的頁面傳遞值
啟動一個Intent時使用 startActivityForResult(intent,0);
父頁面重寫
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (data!=null)
{
String result=data.getStringExtra("result");
textView.setText(result);
}
子頁面接受資料進行處理
Intent i=new Intent();
i.putExtra("result","hellow Main");
setResult(0,i);
finish();