Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。
Intent是Android一个很重要的类。Intent直译是“意图”,比如你想从这个Activity跳转到另外一个Activity,这就是一个意图。
activity跳转可以选择无返回结果,也可以有。如下两个demo
无返回结果:
package com.ly;
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;
import android.widget.RadioButton;
public class BundleTestActivity extends Activity {
EditText et1 ;
EditText et2 ;
Button bt;
RadioButton rb;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
et1=(EditText) findViewById(R.id.et1);
et2=(EditText) findViewById(R.id.et2);
rb=(RadioButton) findViewById(R.id.radioButton1);
bt=(Button) findViewById(R.id.btn);
bt.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String username =et1.getText().toString();
String password=et2.getText().toString();
String sex =rb.isChecked()?"男":"女";
User u =new User(username,password,sex);
Bundle b =new Bundle();
b.putSerializable("user", u);
Intent i =new Intent();
i.setClass(BundleTestActivity.this, Show.class);
i.putExtras(b);
startActivity(i);
}
});
}
}
activity
package com.ly;
import java.io.Serializable;
public class User implements Serializable {
private String username;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public User(String username, String password, String sex) {
super();
this.username = username;
this.password = password;
this.sex = sex;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
private String password;
private String sex;
}
传递的实体(实现序列化)
package com.ly;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class Show extends Activity {
private TextView tw;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.show);
tw =(TextView) findViewById(R.id.tw);
Intent i =getIntent();
Bundle b =i.getExtras();
User u = (User) b.getSerializable("user");
tw.setText(u.getUsername()+u.getSex());
}
}
获得数据
(布局配置省略)
返回结果的跳转:
需要重写onActivityResult方法
package com.ly;
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 ActivitycallbackdataActivity extends Activity {
private Button btn;
private EditText et;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn = (Button) findViewById(R.id.btn);
et = (EditText) findViewById(R.id.et);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(ActivitycallbackdataActivity.this,
Result.class);
startActivityForResult(intent, 0);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0 && resultCode == 0) {
Bundle datas = data.getExtras();
String city = datas.getString("city");
et.setText(city);
}
}
}
跳转到的类
package com.ly;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
public class Result extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent i = getIntent();
Bundle b =new Bundle();
b.putString("city", "广州");
i.putExtras(b);
this.setResult(0, i);
this.finish();
}
}
** 注意,在setResult后,要调用finish()销毁当前的Activity,否则无法返回到原来的Activity,就无法执行原来Activity的onActivityResult函数,看到当前的Activity没反应。
附:demo1布局
- 大小: 21.9 KB
分享到:
相关推荐
例如,如果我们想从当前Activity跳转到名为`TargetActivity`的Activity,代码如下: ```java Intent intent = new Intent(this, TargetActivity.class); startActivity(intent); ``` 这里的`this`代表当前...
在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider)。...本篇博客要介绍的内容是活动的创建,活动的跳转与值的透传。 iOS中的V
在Android的开发过程中,有时需要进行Activity之间的跳转,在页面跳转的过程中,有时需要传递指定的参数数据过去,例如:信息发布app返回查询条件的需要,为此,就需要了解这方面的技术与实现方式。
当我们需要从一个Activity跳转到另一个Activity时,Intent扮演着非常重要的角色。在这个过程中,我们可能需要将一些数据从源Activity传递到目标Activity。这就是所谓的"Intent跳转传值"。 Intent主要分为显式Intent...
在Android应用开发中,Intent是连接应用程序组件的重要桥梁,它被用来启动新的Activity或Service,也可以传递数据。本文将深入探讨如何在两个Activity之间通过Intent进行数据传递。 首先,理解Intent的基本概念。...
本篇文章将详细解析Android页面跳转和传值的过程,以及如何有效地利用`Intent`。 一、页面跳转 在Android中,页面跳转主要通过`Intent`对象实现。`Intent`是用来表示应用中一个操作的意图,它可以用于启动一个新的...
Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。 Intent是Android一个很重要的类。Intent直译是“意图”,什么是意图呢?比如你想从这个Activity跳转到另外一个Activity,这就是一个...
理解Activity的跳转和ListView的使用是Android开发中至关重要的技能。在这个主题中,我们将深入探讨如何通过Intent和Bundle实现Activity间的参数传递和跳转,以及如何在ListView中设置Item的点击事件处理。 首先,...
本篇将深入探讨"android页面跳转传值"这个主题,重点关注Intent的使用以及如何通过Bundle来传递数据。 1. **Intent的基本概念** Intent是Android中的一个类,它表示应用程序想要完成的一个动作(如打开网页、发送...
"Android-SmartGo"项目正是这样一个实践,它通过编译时注解生成文件,实现了在Activity跳转时自动处理传值和取值,极大地提高了开发效率和代码可读性。 SmartGo的核心思想是利用Java的注解(Annotation)和APT...
本文将详细讲解“安卓登录页面跳转传值小例子”中的知识点,帮助初学者掌握基本技巧。 首先,我们要了解的是Android Intent的概念。Intent在Android中扮演着消息传递的角色,它用于启动一个Activity或者Service,...
在实际的开发过程中,常常需要在两个Activity之间传递数据,比如从一个Activity启动另一个Activity并传递一些参数,然后在新的Activity中处理这些参数,甚至在完成后将结果返回给原来的Activity。本文将详细讲解如何...
本篇文章将深入探讨如何在Android中实现从一个Activity(活动)跳转到另一个Activity,并在跳转过程中传递数据,以及如何设置返回逻辑以回到原来的父屏幕。我们将以一个名为"MyApplication"的示例项目为背景进行讲解...
当涉及到"Intent跳转传值"时,通常指的是在启动一个新的Activity时,将数据附着在Intent上并传递给新Activity。下面是一些常见的数据类型以及如何传递: 1. 基本数据类型:如int、String、boolean等,可以直接通过...
本示例主要关注两个核心知识点:Fragment与Activity之间的数据传递,以及Fragment之间的跳转。 首先,我们来探讨Fragment与Activity之间的数据传递。在Android中,有多种方式实现两者间的数据交换: 1. **通过...
Intent跳转传值,和Activity返回传值
要从一个Activity跳转到另一个Activity,我们需要使用`Intent`对象。以下是如何创建并启动新Activity的步骤: 1. 创建Intent对象: ```kotlin val intent = Intent(this, TargetActivity::class.java) ``` 这里的`...
android界面跳转与传值 android中Activity的跳转和值通过SharedPreferences传递。