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: 静态XML和动态加载XML混合使用,以及重写Layout控件
- android Kotlin 继承、派生、接口、构造方式,方法、属性重写
- Android重写SimpleCursorAdapter例子
- Android——继承SimpleAdapter重写自己的getView
- Android重写view时onAttachedToWindow () 和 onDetachedFromWind
- Android WifiManager 常量
- 【Android 开发教程】经过预定义的查询字符串常量
- Android中的HashMap原理实践探索,重写equals(),为什么重写hashCode
- Android中重写onBackPressed()方法实现双击退出