举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。这个时候就要用到回调函数onActivityResult()。
现在贴上一个关于onActivityResult的用法的小例子的代码:
onActivityResult.java
主要的Activity,一会会先执行此Activity,然后调用B Activity,并向其发送数据,通过回调函数来获取B传回来的值。
public class onActivityResult extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
StartA();
}
public void StartA()
{
Button buttonA = (Button)findViewById(R.id.button1);
buttonA.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
// onActivityResult.this.setContentView(R.layout.second);
// onActivityResult.this.StartB();
Intent intent = new Intent(onActivityResult.this,ClassB.class);
String passString = "Hello,this is A";
intent.putExtra("ToB", passString);
startActivityForResult(intent, 0);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (resultCode) { //resultCode为回传的标记,我在B中回传的是RESULT_OK
case RESULT_OK:
Bundle b=data.getExtras(); //data为B中回传的Intent
String str=b.getString("FromB");//str即为回传的值
TextView view = (TextView)findViewById(R.id.textA);
view.setText(str);
break;
default:
break;
}
}
/*public void StartB()
{
Button buttonB = (Button)findViewById(R.id.button2);
buttonB.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
onActivityResult.this.setContentView(R.layout.main);
onActivityResult.this.StartA();
}
});
}*/
}
----------------------------------------------------------------------------------------------------------------------
ClassB.java
public class ClassB extends Activity{
private Intent intent;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.second);
intent = getIntent();
String result = intent.getStringExtra("ToB");
Button button = (Button)findViewById(R.id.button2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent intent = new Intent(ClassB.this,onActivityResult.class);
String passString = "Hello,this is B";
intent.putExtra("FromB", passString);
setResult(RESULT_OK, intent);
finish();
}
});
TextView textView = (TextView)findViewById(R.id.textB);
textView.setText(result);
}
}
-------------------------------------------------------------------------
相关推荐
详细介绍医院电子病历系统平台功能模块清单及模块功能,对于医院电子病历平台的功能模块了解有比较清晰的介绍,以及医院对于电子病历的要求
利用广播Broadcast Receiver,在2个不同的Activity传递数据
Dll主程序,主功能模块,可在这里动态调用别的子程序
matlab的数字信号教学演示平台仿真(GUI界面,多模块,主界面调用子界面)
对新手学习Qt来说,建立主窗口界面,但是控制按钮调用两个独立ui界面出现很多的错误。本资源为源码,可以通过点击按钮不断切调用两个不同ui界面来显示到主窗口界面
使用qt完成简单的界面UI主界面跳转到子界面,并且可以从子界面返回到主界面中。按钮可以实现到转到子界面并且返回,并实现小按键的弹窗功能
labview主页面与两个子界面之间的切换,内含教程
在activity中嵌入子Activity。
假如说有一个activity A,在A中跳转到Activity B, 然后在B中跳转到Activity C中,最后要在C中把activity A,B,C都关掉。 首先有一个Activity A,A中有一个Button,点击这个Button会跳到Activity B中去,但会拿到...
Android父Activity获取子Activity返回信息demo 详见:http://blog.csdn.net/he_qiao/article/details/22730615
实现类似 C# TabControl 控件的效果,在同一区域实现界面的切换。通过ContentControl , Frame , Page等将生成子界面嵌入到主窗口。
子函数和主函数在同一个M文件中。M文件对外提供主函数接口,这样处理起来就比较方便。 举例说明 function [avg, med] = newstats(u) % 主函数 % NEWSTATS Find mean and median with internal functions. n = ...
1. 整体总共分三界面,一级界面是整体布局,二级界面是单个功能模块,三界面是单个控件。 2. 子控件包括饼图+圆环图+曲线图+柱状图+柱状分组图+横向柱状图+横向柱状分组图+合格率控件+百分比控件+进度控件+设备状态...
人事管理系统功能模块图..........
python Qt5GUI界面主窗口和子窗口相互传值,保证能用。。。。。。。。。。。。。!
1. 采用分层设计,整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件。 2. 子控件包括饼图+圆环图+曲线图+柱状图+柱状分组图+横向柱状图+横向柱状分组图+合格率控件+百分比控件+...
简单的labview示意程序。在主界面点击按钮,弹出子界面的同时隐藏主界面
解决tabhost子activity不响应OnActivityResult()函数