2019-01-08 回答
1.无参数activity跳转
intent it = new intent(activity.main.this, activity2.class);
startactivity(it);
2.向下一个activity传递数据(使用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);
对于数据的获取可以采用:
bundle bundle=getintent().getextras();
string name=bundle.getstring("name");
3.向上一个activity返回结果(使用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.回调上一个activity的结果处理函数(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);
}
}
}