启动另一个Activity,并返回一个结果。
使用startActivityForResult()
点击上一步的时候,保存下一步页面输入的用户信息
MainActivity.java
package com.amaker.test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener {
private EditText username, password;
private Button b1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init() {
b1 = (Button) findViewById(R.id.Button01);
b1.setOnClickListener(this);
username = (EditText) findViewById(R.id.username);
password = (EditText) findViewById(R.id.password);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Bundle b = data.getExtras();
String str_username = b.getString("username");
String str_password = b.getString("password");
username.setText(str_username);
password.setText(str_password);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.Button01:
String str_username = username.getText().toString();
String str_password = password.getText().toString();
Bundle b = new Bundle();
b.putString("username", str_username);
b.putString("password", str_password);
Intent intent = new Intent(MainActivity.this, NextActivity.class);
intent.putExtras(b);
startActivityForResult(intent, 1);
break;
default:
break;
}
}
}
NextActivity.java
package com.amaker.test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class NextActivity extends Activity {
private Button b2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.next);
b2 = (Button)findViewById(R.id.Button02);
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = getIntent();
intent.putExtra("abc", "test");
NextActivity.this.setResult(5, intent);
NextActivity.this.finish();
}
});
}
}
- 大小: 10.1 KB
- 大小: 6.7 KB
分享到:
相关推荐
启动模式是另一个重要概念,它决定了Activity的启动行为。Android提供了四种主要的启动模式:标准模式(Standard)、单实例模式(SingleInstance)、单任务模式(SingleTask)和单栈顶模式(SingleTop)。标准模式是...
"activity四大启动方式demo"指的是展示如何通过四种不同的启动模式来启动一个Activity。这些模式影响着Activity的生命周期以及在任务栈(Task)中的行为。下面将详细解释这四种启动模式及其在实际开发中的应用场景。...
这个过程主要通过 resolveIntent() 方法来实现,该方法返回一个 ResolveInfo 对象,该对象包含了要启动的 Activity 信息。在获得 ResolveInfo 对象后,AMS 就可以根据该对象来启动对应的 Activity。 在启动 ...
当使用startActivityForResult()启动Activity时,可以在目标Activity中通过setResult()设置返回结果,然后在调用者Activity的onActivityResult()方法中接收。源码可能展示了如何实现这个功能,以便在子Activity中...
- `startActivityForResult()`:用于启动另一个Activity并等待结果返回,通过`onActivityResult()`处理结果。 7. **回退栈的配置** - 可以通过`android:noHistory="true"`禁止Activity被添加到历史记录栈,这样当...
6. **startActivity()和startActivityForResult()**:startActivity()用于无返回值的跳转,而startActivityForResult()则可以在调用者Activity中接收到被启动Activity的结果。 7. **finish()方法**:调用Activity的...
通过startActivityForResult()启动Activity时,可以在目标Activity中调用setResult()设置返回结果,然后在启动Activity的代码中覆盖onActivityResult()方法,接收并处理返回的结果。 七、Activity的启动模式 ...
尽管Activity可以直接处理Intent,但也可以注册BroadcastReceiver监听特定Action的Intent,然后根据Intent的内容决定是否启动Activity或执行其他操作。 通过这个源码,开发者可以深入理解如何在多个Activity间共享...
在该方法内,我们需要计算手指移动的总距离,并设定一个阈值,当滑动距离超过这个阈值时,启动返回动作。同时,还要确保只有在屏幕边缘的滑动才会触发返回,这可以通过比较触摸点相对于屏幕宽度的比例来实现。 以下...
- `onPause()`:当另一个Activity将要覆盖当前Activity时,系统会先调用此方法。通常用于保存临时数据、停止动画或更新计时器等。这个过程是短暂的,因为Activity依然部分可见。 4. **停止(Stopping)**: - `...
当我们需要从一个Activity启动另一个Activity并期待返回结果时,会使用`startActivityForResult()`方法。此方法有两个参数:Intent对象和一个请求码(request code),用于在`onActivityResult()`中区分不同的启动...
2. Intent是Android中启动Activity和Service的主要手段,用于表达一个动作和目标。Intent分为显式Intent和隐式Intent。 - 显式Intent:明确指定要启动的Activity的组件名。 - 隐式Intent:仅指定操作和数据类型,...
使用`startActivityForResult()`启动Activity,可以实现返回结果的通信。当目标Activity完成并返回时,调用`onActivityResult()`方法,传回数据。 7. **应用实践** 在实际开发中,合理设计Activity的启动模式和...
当你在一个Activity中通过startActivityForResult(Intent intent, int requestCode)启动另一个Activity时,可以在第二个Activity中通过setResult(int resultCode, Intent data)设置结果,并返回到第一个Activity。...
Intent不仅定义了Activity间的通信,还包含了启动Activity所需的数据。例如,可以使用Intent.FLAG_ACTIVITY_NEW_TASK标志来启动一个新的任务,或者使用FLAG_ACTIVITY_CLEAR_TOP来清除栈中所有位于目标Activity之上的...
在安卓应用开发中,"启动退出网络判断"是一个重要的功能模块,它涉及到用户界面的交互体验和应用程序的网络状态管理。这个压缩包“安卓启动退出网络判断相关-Activity启动和退出动画.zip”包含了关于Activity启动...
源码中,Intent的创建和解析过程涉及Intent类和ResolveInfo类,而启动Activity的过程则涉及ActivityManagerNative和ActivityStackSupervisor。 2. **Activity与Fragment的通信**: Fragment是可嵌入Activity中的UI...
当你想要从一个Activity跳转到另一个Activity时,你需要创建一个Intent,设置其目标Activity以及可能携带的数据。在源码中,`Intent`类的构造函数和`setAction`, `setClass`, `putExtra`等方法是用来设置Intent属性...
- 使用`startActivityForResult()`启动Activity并接收返回结果 - 理解Android应用程序的进程和组件模型,每个App运行在独立的Dalvik或ART虚拟机中,而Activity作为组件可以被其他应用调用 这些知识点对于Android...