Main.java
public class Main extends Activity {
private Button button;
private EditText input1, input2, result;
private final static int REQUEST_CODE=1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
input1 = (EditText)this.findViewById(R.id.input1);
input2 = (EditText)this.findViewById(R.id.input2);
button = (Button)this.findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
String input1str = input1.getText().toString();
String input2str = input2.getText().toString();
int a = Integer.parseInt(input1str);
int b = Integer.parseInt(input2str);
Intent intent = new Intent(Main.this, OtherActivity.class);
intent.putExtra("a",a);
intent.putExtra("b",b);
startActivityForResult(intent, REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode==OtherActivity.RESULT_CODE){
if(requestCode==REQUEST_CODE){
int return_int = data.getIntExtra("result",0);
result = (EditText)this.findViewById(R.id.result);
result.setText(return_int);
}
}
}
}
OtherActivity.java
public class OtherActivity extends Activity{
private TextView label;
private EditText input;
private Button button;
public final static int RESULT_CODE=2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.other);
label = (TextView)this.findViewById(R.id.label);
input = (EditText)this.findViewById(R.id.input);
button =(Button)this.findViewById(R.id.button);
Intent intent = getIntent();
int a = intent.getIntExtra("a", 0);
int b = intent.getIntExtra("b", 0);
label = (TextView)this.findViewById(R.id.label);
label.setText(a + " + " + b + " = ?");
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int input_int = Integer.parseInt(input.getText().toString());
Intent intent = new Intent();
intent.putExtra("result", input_int);
//通过Intent对象返回结果,使setResult
setResult(RESULT_CODE,intent);
//结束当前的Activity生命周期
finish();
}
});
}
}
分享到:
相关推荐
在实际的应用中,我们不仅仅要向Activity传递数据,而且要从Activity中返回数据,虽然返回数据和传递数据类似,也可以采用前面4种方法,但是一般建议采用Intent对象的方式来返回数据,使用这种方式返回数据,需要...
下面将详细介绍如何在Android中实现父Activity获取子Activity返回的信息。 首先,我们创建一个子Activity。在这个子Activity中,用户可能会进行一些交互,例如选择数据、填写表单等。完成这些操作后,子Activity...
### Android Activity之间数据的回传 #### 一、引言 在Android开发中,Activity间的交互是非常常见的需求。特别是当我们需要从一个Activity跳转到另一个Activity,并希望在完成某些操作后能够将数据回传给原始...
在Android旧版本中,我们通常使用`startActivityForResult()`启动Activity,并在重写`onActivityResult()`方法中处理返回数据: ```java startActivityForResult(intent, REQUEST_CODE); ``` 在目标Activity中: ...
本教程将深入探讨如何在Android的Activity之间传递数据,以及如何在启动的Activity销毁后,主Activity能接收到返回的结果。 首先,我们要了解Activity间的启动模式。Android提供了四种启动模式:标准模式(Standard...
在Android应用开发中,尤其是使用Kotlin作为主要编程语言时,如何有效地在多个Activity之间共享数据是一个常见的挑战。`ViewModel`是Android架构组件之一,它为了解决这个问题提供了优雅的解决方案。本文将深入探讨...
resultCode表示新Activity的执行结果,而data Intent则包含了新Activity返回的数据。 总结来说,Android的Activity间通信主要依赖Intent,通过startActivityForResult()可以实现启动一个Activity并等待其返回结果。...
当我们谈论“Activity返回到指定Activity页面”时,这是Android中的一个关键概念,涉及到Activity的生命周期、Intent以及栈管理。 首先,理解Activity的生命周期至关重要。每个Activity都有如onCreate(), onStart()...
3. **StartActivityForResult()**: 当需要从目标Activity返回数据时,我们可以使用startActivityForResult()方法启动新Activity。这个方法允许我们在结果返回时调用onActivityResult()方法,以便处理返回的数据。 4...
### Android 中从Activity1跳转到Activity2再回到Activity1所经历的生命周期 在Android开发过程中,理解Activity的生命周期对于管理界面状态、处理用户交互以及响应系统事件至关重要。本文将详细解析从一个Activity...
通过以上步骤,你可以实现Android应用中Activity的基本跳转和数据传递。然而,实际开发中可能还会涉及到更复杂的场景,如使用BroadcastReceiver、Service等组件,以及Fragment之间的交互。继续深入学习Android框架,...
当我们需要在一个Activity启动另一个Activity并期待得到一些结果时,就需要使用到`startActivityForResult()`方法,这就是“Android review 打开activity返回结果”这个话题的核心。下面将详细介绍这个过程及其相关...
Android Activity学习笔记 Android Activity是Android系统中最基本的组件之一,它负责处理用户交互和显示用户界面。...Activity的生命周期、数据交互、启动模式和Task和BackStack都是Android开发中非常重要的知识点。
这种机制可以确保 Activity 能够适应不同的屏幕方向,但是也会带来一些问题,如数据丢失、界面刷新等。 那么,如何让 Android 横竖屏切换时不销毁当前的 Activity 呢?答案就在于使用 `android:configChanges` 属性...
3. 返回数据通常通过`startActivityForResult(Intent, int)`启动Activity,然后在重写的`onActivityResult(int, int, Intent)`中接收。 五、Activity的配置变更 当设备配置(如屏幕方向、语言)改变时,系统默认会...
6. **startActivityForResult()**: 当需要从目标Activity返回数据时,可以使用startActivityForResult()。在目标Activity完成时,可以通过setResult()设置结果,然后在调用者Activity的onActivityResult()方法中处理...
在Android应用开发中,`Service`和`Activity`是两个重要的组件。`Service`用于在后台执行长时间运行的任务,而`Activity`则负责用户界面交互。在某些场景下,我们可能需要在`Service`和`Activity`之间传递数据,比如...
### Android之Activity的生命周期与Activity间的跳转及数据传递 #### Activity的概念与作用 在Android应用开发中,`Activity`是四大组件之一,主要负责管理应用程序的用户界面(UI)。一个Activity代表一个屏幕上的...
如果需要从启动的Activity返回结果,可以使用startActivityForResult(),在目标Activity中调用setResult()设置结果,然后在调用者Activity的onActivityResult()方法中接收结果。 8. Activity堆栈管理: Android系统...
如果你需要从目标Activity返回结果到原始Activity,可以使用`startActivityForResult()`方法启动Activity,并在目标Activity中调用`setResult()`方法设置结果,最后用`finish()`结束Activity。原始Activity会重写`...