做了两个activity,第一个是登录界面,第二个界面显示第一个界面上输入的数据。图如下
第一个界面的代码是:
package org.fengcao.activity;
import org.content.preson.*;
import org.fengcao.activity.test.quitlistener;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
public class login extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button bn = (Button)findViewById(R.id.bn);
Button quitBT = (Button)findViewById(R.id.quitbt);
quitBT.setOnClickListener(new quitlistener());
bn.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
EditText name = (EditText)findViewById(R.id.name);
EditText passwd = (EditText)findViewById(R.id.passwd);
RadioButton male = (RadioButton)findViewById(R.id.male);
String gender = male.isChecked() ? "男 " : "女";
Person p = new Person(name.getText().toString()
, passwd.getText().toString() , gender);
//创建一个Bundle对象
Bundle data = new Bundle();
data.putSerializable("person", p);
//创建一个Intent
Intent intent = new Intent(login.this
, test.class);
intent.putExtras(data);
//启动intent对应的Activity
startActivity(intent);
}
});
}
class quitlistener implements View.OnClickListener
{
@Override
public void onClick(View arg0)
{
Log.v("登录界面", "ondestroy");
System.exit(0);
onDestroy();
}
}
}
第二个activity的代码
package org.fengcao.activity;
import org.content.preson.*;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class test extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
TextView name = (TextView)findViewById(R.id.name);
TextView passwd = (TextView)findViewById(R.id.passwd);
TextView gender = (TextView)findViewById(R.id.gender);
EditText name_edit = (EditText)findViewById(R.id.nameedit);
EditText age_edit = (EditText)findViewById(R.id.age_edit);
EditText gender_edit = (EditText)findViewById(R.id.gender_edit);
Button quitBT = (Button)findViewById(R.id.quitbutton);
quitBT.setOnClickListener(new quitlistener());
//获取启动该Result的Intent
Intent intent = getIntent();
//获取该intent所携带的数据
Bundle data = intent.getExtras();
//从Bundle数据包中取出数据
Person p = (Person)data.getSerializable("person");
name.setText("姓名:" );
name_edit.setText(p.getName());
passwd.setText("年龄:");
age_edit.setText(p.getPass());
gender.setText("性别:");
gender_edit.setText(p.getGender());
}
class quitlistener implements View.OnClickListener
{
@Override
public void onClick(View arg0)
{
onDestroy();
}
}
@Override
public void onDestroy()
{
Log.v("QUIT","------------ondestory----------");
super.onDestroy();
System.exit(0);
}
}
第一个activity通过intent启动第二个activity并通过intent传递消息,其中person是一个类的接口函数,代码如下:
package org.content.preson;
import java.io.Serializable;
public class Person implements Serializable
{
private static final long serialVersionUID = 1L;
private Integer id;
private String name;
private String pass;
private String gender;
public Person()
{
}
/**
* @param name
* @param pass
* @param gender
*/
public Person(String name, String pass, String gender)
{
this.name = name;
this.pass = pass;
this.gender = gender;
}
public Integer getId()
{
return id;
}
public void setId(Integer id)
{
this.id = id;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public String getPass()
{
return pass;
}
public void setPass(String pass)
{
this.pass = pass;
}
public String getGender()
{
return gender;
}
public void setGender(String gender)
{
this.gender = gender;
}
}