Intent用法實(shí)例
1.無參數(shù)Activity跳轉(zhuǎn)
Intent it = new Intent(Activity.Main.this, Activity2.class);
startActivity(it);
2.向下一個Activity傳遞數(shù)據(jù)(使用Bundle和Intent.putExtras)
Intent it = new Intent(Activity.Main.this, Activity2.class);
Bundle bundle=new Bundle();
bundle.putString("name", "This is from MainActivity!");
it.putExtras(bundle); // it.putExtra(“test”, "shuju”);
startActivity(it); // startActivityForResult(it,REQUEST_CODE);
對于數(shù)據(jù)的獲取可以采用:
Bundle bundle=getIntent().getExtras();
String name=bundle.getString("name");
3.向上一個Activity返回結(jié)果(使用setResult,針對startActivityForResult(it,REQUEST_CODE)啟動的Activity)
Intent intent=getIntent();
Bundle bundle2=new Bundle();
bundle2.putString("name", "This is from ShowMsg!");
intent.putExtras(bundle2);
setResult(RESULT_OK, intent);
4.回調(diào)上一個Activity的結(jié)果處理函數(shù)(onActivityResult)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if (requestCode==REQUEST_CODE){
if(resultCode==RESULT_CANCELED)
setTitle("cancle");
else if (resultCode==RESULT_OK) {
String temp=null;
Bundle bundle=data.getExtras();
if(bundle!=null) temp=bundle.getString("name");
setTitle(temp);
}
}
}