Android(安卓)启动另外activity并返回结果
android提供了一个机制,跳转到其他activity时,再返回,可以接受到其他activity返回的值,无需再start新的当前activity;
实现原理如下:
当前两个activity,MainAcivity和SecondActivity;
1、SecondActivity中,在OnClickListener中
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setResult(RESULT_OK,(new Intent()).setAction(uid));
finish();
}
});
2、在MainActivity中,重写onActivityResult方法;
如下:
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(requestCode == GET_CODE){
if(resultCode == RESULT_CANCELED){
text2.setText("点击了返回");
} else {
if (data != null) {
text2.setText("得到第二个activity返回的结果:/n"+data.getAction());
}
}
}
}
其中static final private int GET_CODE = 0;是我自定义的常量,用来区分当前返回的是哪个activity的结果;
代码见:http://android-abc.googlecode.com/svn/tags/ActivityDemos-2.0.0/
程序截图见:关于回调函数中的this体会
更多相关文章
- Android高手进阶教程(十七)之---Android中Intent传递对象的两种
- android -------- ConstraintLayout 约束属性(二)
- Android如何通过https协议下载自己的https网站上的文件/apk等
- Android高手进阶教程(二)之----Android(安卓)Launcher抽屉类Slid
- Android(安卓)GPS (当前位置 & GPS信息更新)
- Android(安卓)切换主题 (二)
- Android高手进阶教程(二十二)之Android中几种图像特效处理的集锦
- Android中的资源与国际化
- Android中的资源与国际化!