范例1:注册时选择所在城市,
MainActivity :
package com.mingrisoft;
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.TextView;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button=(Button)findViewById(R.id.button1); //获取选择所在城市的按钮
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,HeadActivity.class);
startActivityForResult(intent, 0x11); //启动intent对应的Activity
}
});
} public void onCreate
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==0x11 && resultCode==0x11){ //判断是否为待处理的结果
Bundle bundle=data.getExtras(); //获取传递的数据包
String city=bundle.getString("city"); //获取选择的城市
TextView tv=(TextView)findViewById(R.id.city); //获取布局文件中添加的ImageView组件
tv.setText(city);
}
}///protected void onActivityResult
}///public class MainActivity
HeadActivity :
package com.mingrisoft;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.TextView;
public class HeadActivity extends Activity {
public String[] city = new String[] { "北京", "上海","广州","长春","沈阳","哈尔滨","天津","西安","杭州","深圳","南京","洛阳" }; // 定义并初始化保存头像id的数组
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.head); //设置该Activity使用的布局
GridView gridview = (GridView) findViewById(R.id.gridView1); // 获取GridView组件
BaseAdapter adapter=new BaseAdapter() {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
TextView tv; //声明TextView的对象
if(convertView==null){
tv=new TextView(HeadActivity.this); //实例化TextView的对象
tv.setPadding(5, 5, 5, 5); //设置TextView的内边距
}else{
tv=(TextView)convertView;
}
tv.setText(city[position]); //为TextView设置要显示的图片
return tv; //返回TextView
}
/*
* 功能:获得当前选项的ID
*/
@Override
public long getItemId(int position) {
return position;
}
/*
* 功能:获得当前选项
*/
@Override
public Object getItem(int position) {
return position;
}
/*
* 获得数量
*/
@Override
public int getCount() {
return city.length;
}
};
gridview.setAdapter(adapter); // 将适配器与GridView关联
gridview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
Intent intent=getIntent(); //获取Intent对象
Bundle bundle=new Bundle(); //实例化要传递的数据包
bundle.putString("city",city[position] );// 显示选中的图片
intent.putExtras(bundle); //将数据包保存到intent中
setResult(0x11,intent); //设置返回的结果码,并返回调用该Activity的Activity
finish(); //关闭当前Activity
}
});
}
}
范例2 显示注册信息
<pre name="code" class="java">MainActivity :
package com.mingrisoft;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button submit=(Button)findViewById(R.id.submit); //获取提交按钮
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String user=((EditText)findViewById(R.id.user)).getText().toString(); //获取输入的用户
String pwd=((EditText)findViewById(R.id.pwd)).getText().toString(); //获取输入的密码
String repwd=((EditText)findViewById(R.id.repwd)).getText().toString(); //获取输入的确认密码
String email=((EditText)findViewById(R.id.email)).getText().toString(); //获取输入的E-mail地址
if(!"".equals(user) && !"".equals(pwd) && !"".equals(email)){
if(!pwd.equals(repwd)){ //判断两次输入的密码是否一致
Toast.makeText(MainActivity.this, "两次输入的密码不一致,请重新输入!", Toast.LENGTH_LONG).show();
((EditText)findViewById(R.id.pwd)).setText(""); //清空密码编辑框
((EditText)findViewById(R.id.repwd)).setText(""); //清空确认密码编辑框
((EditText)findViewById(R.id.pwd)).requestFocus(); //让密码编辑框获得焦点
}else{ //将输入的信息保存到Bundle中,并启动一个新的Activity显示输入的用户注册信息
Intent intent=new Intent(MainActivity.this,RegisterActivity.class);
Bundle bundle=new Bundle(); //创建并实例化一个Bundle对象
bundle.putCharSequence("user", user); //保存用户名
bundle.putCharSequence("pwd", pwd); //保存密码
bundle.putCharSequence("email", email); //保存E-mail地址
intent.putExtras(bundle); //将Bundle对象添加到Intent对象中
startActivity(intent); //启动新的Activity
}
}else{
Toast.makeText(MainActivity.this, "请将注册信息输入完整!", Toast.LENGTH_LONG).show();
}
}
});
}
}
<pre name="code" class="java">RegisterActivity :
package com.mingrisoft;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class RegisterActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register); //设置该Activity中要显示的内容视图
Intent intent=getIntent(); //获取Intent对象
Bundle bundle=intent.getExtras(); //获取传递的数据包
TextView user=(TextView)findViewById(R.id.user); //获取显示用户名的TextView组件
user.setText("用户名:"+bundle.getString("user")); //获取输入的用户名并显示到TextView组件中
TextView pwd=(TextView)findViewById(R.id.pwd); //获取显示密码的TextView组件
pwd.setText("密码:"+bundle.getString("pwd")); //获取输入的密码并显示到TextView组件中
TextView email=(TextView)findViewById(R.id.email); //获取显示E-mail的TextView组件
email.setText("E-mail:"+bundle.getString("email")); //获取输入的E-mail并显示到TextView组件中
}
}
如果新的Actiity有返回值或者用新的Activity的返回值做一些操作,在旧Activity中需要用到startActivityForResult(intent, 0x11);和onActivityResult(int requestCode, int resultCode, Intent data);在新的Activity中需要用到setResult(0x11,intent);
如果新的Actiity没有返回值,在只要在旧Activity中用startActivity(intent);即可