发布网友 发布时间:2022-04-21 04:00
共1个回答
热心网友 时间:2022-06-17 21:14
Android页面跳转Intent使用
在android中,一个页面就是一个activity,在页面跳转中,用到了Intent这个类,其实Intent跳转没什么大不了的,就是调用几个方法,第一个:intent.setAction(“wang.zhe.gui.lai”);当然,里面的”wang.zhe.gui.lai”这个字符串是要在主配置文件中配置的,第二个:intent.setClass(MainActivity.this,SceondViewActivity.class);这个跳转方法是最常用的一种,这两种方法之后,用startActivity(intent);来启动跳转。不过这不是我说的重点,我所要说的是如何传值?一般对于字符串的传值,就是调用intent.putExtra("str",”字符串内容”);来传值,但是要是传一个对象呢?在intent中提供了一个方法,也是 putExtra(),不过,这个是传对象的方法putExtra(String name, Serializable value),是可以传对象的,不过对应的对象要序列化,其实就是实现一个标示接口Serializable,下面将部分源码附上。
这是一个userinfo类
package com.example.regist;
import java.io.Serializable;
public class Userinfo implements Serializable {
String userName;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPassword() {
return userPassword;
}
public void setUserPassword(String userPassword) {
this.userPassword = userPassword;
}
public String getUserGender() {
return userGender;
}
public void setUserGender(String userGender) {
this.userGender = userGender;
}
public String getUserBathday() {
return userBathday;
}
public void setUserBathday(String userBathday) {
this.userBathday = userBathday;
}
public String getUserLove() {
return userLove;
}
public void setUserLove(String userLove) {
this.userLove = userLove;
}
public String getUserEmail() {
return userEmail;
}
public void setUserEmail(String userEmail) {
this.userEmail = userEmail;
}
String userPassword;
String userGender;
boolean userIsmarry;
public boolean isUserIsmarry() {
return userIsmarry;
}
public void setUserIsmarry(boolean userIsmarry) {
this.userIsmarry = userIsmarry;
}
String userBathday;
String userLove;
String userEmail;
}
可以看出该类实现了Serializable接口。
下面是跳转加传值的部分代码:
Intent intent=new Intent();
intent.setClass(MainActivity.this,SecondviewActivity.class);
intent.putExtra("user",user);//user是实例化之后的对象
startActivity(intent);
下面是第二个界面所对应的类接受传过来的对象的代码
TextView tex=new TextView(this);
Intent intent=getIntent();
Userinfo user=(Userinfo) intent.getSerializableExtra("user");
现在就是一个完整的user对象了,你可以随性而用了。