举例说我想要做的一个事情是,在一个主界面(主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);
}
}
-------------------------------------------------------------------------
相关推荐
在Verilog中,子模块的调用是一个核心概念,它允许设计者模块化地构建复杂的电子系统。在ISE(Integrated Synthesis Environment)这样的FPGA(现场可编程门阵列)开发环境中,子模块的调用尤为关键。 在C语言中,...
在Qt开发过程中,创建用户界面(UI)是至关重要的一步,尤其对于初学者而言,理解和掌握如何通过主窗口界面调用多个独立的UI文件是一项基础但关键的技能。本资源提供的源码示例展示了如何在主窗口中设置按钮,通过...
在Android开发中,"Tab中的Activity嵌入子Activity"是一个常见的设计模式,它涉及到UI设计、Activity栈管理和用户交互。这种做法通常是为了解决多视图切换和保持应用层级结构清晰的问题。以下是对这一主题的详细说明...
在Android应用开发中,侧滑菜单(Slide Menu)是一种常见的设计模式,用于提供导航功能,让用户可以在不离开主界面的情况下访问不同的功能或内容。这种设计通常出现在应用的左上角或者左侧,用户通过向右滑动屏幕来...
基于MATLAB的数字信号处理,带界面GUI,主界面调用各个子界面。分不同模块实现,如信号基本运算,时域频域关系,卷积,抽样信号等等。参数界面可调,
在主界面上,我们可以使用QTabWidget作为容器,并通过上述的布局管理器方法将其添加到不同的标签页中。这种方式不仅简化了界面设计的过程,还使得界面更加一致性和易于维护。 #### 四、注意事项 - 在添加子页面时...
在Python的图形用户界面开发中,Qt5是一个广泛使用的库,它提供了丰富的组件和功能来构建桌面应用程序。本文将深入探讨如何在Qt5 GUI中实现主窗口(Parent Window)与子窗口(Child Window)之间的数据传递,确保...
QT主菜单界面框架是软件开发中的一个重要组成部分,尤其在创建桌面应用时,它为用户提供了一种组织和访问功能的直观方式。QT是一个流行的开源跨平台应用程序开发框架,由Trolltech公司(现为The Qt Company)开发,...
在这个“易语言主程序源码,易语言易包模块连接SQL数据库”主题中,我们将深入探讨如何使用易语言来实现与SQL数据库的交互。 首先,易语言中的“易包模块”是可重用的代码单元,它封装了一组相关功能,可以方便地在...
1. **回调接口**:这是最常用的方法,通过在Activity中定义一个接口,然后在Adapter中实现这个接口。当用户操作子控件时,Adapter调用接口方法,将事件传递给Activity。例如,在Adapter的构造函数中传入Activity实例...
在Qt编程中,当需要在一个界面上实现多个窗口或页面之间的切换时,`QStackedWidget`是一个非常实用的工具。`QStackedWidget`是Qt库中的一个容器类,它允许我们将多个窗口小部件(widgets)堆叠在一起,并在它们之间...
它允许开发者在同一个界面上展示多个Activity或Fragment,通过底部的标签栏进行切换。TabHost通常包含两个主要部分:TabWidget(显示标签)和FrameLayout(用于显示每个标签对应的视图)。在XML布局文件中,TabHost...
在编程领域,特别是GUI(图形用户界面)应用开发中,保持用户界面的流畅性是至关重要的。当程序执行耗时操作时,如果这些操作在主线程中运行,会导致UI无响应,也就是我们常说的“卡死”。为了解决这个问题,程序员...
GSM网络由多个部分组成,包括移动台(手机或GSM模块)、基站子系统(BSS)、网络和交换子系统(NSS)以及操作支持子系统(OSS)。BSS负责无线连接,NSS处理网络管理和呼叫控制,OSS用于网络维护和运营。 4. **调制...
在上述的描述中,开发者想要实现一个应用,其中底部有三个功能模块的图片按钮(btnModule1、btnModule2、btnModule3),点击这些按钮可以在主Activity中动态切换并显示不同的Activity和对应的ContentView。...
在Qt编程中,UI(用户界面)的更新通常在主线程中进行,因为GUI(图形用户界面)组件的渲染和事件处理是与主线程紧密关联的。然而,当执行耗时的操作,如网络请求、大数据处理或长时间计算时,如果在主线程中执行,...
在Delphi编程环境中,开发一个应用常常涉及到主程序与多个子窗口或子模块之间的交互。主程序调用子窗口(多窗口)是一个常见的设计模式,它有助于实现软件的模块化和功能拆分,提高代码的可维护性和复用性。本实例...
易语言模块大全,里面包含775个模块!!! 易语言模块大全,里面包含775个模块!!! 易语言模块大全,里面包含775个模块!!! ACCESS到高级表格1.1(1.1).zip Access操作(1.0).zip ACCESS到超级列表框(1.0).zip ...
* 其次,我们需要在主 VI 中创建一个事件结构,并将其链接到子 VI 中。 * 最后,我们需要在子 VI 中创建一个返回按钮,并将其链接到主 VI 中。 通过遵循这些步骤,我们可以实现 LabVIEW 中的界面跳转,提高了程序的...