调用一个Activity并返回结果
一:在main.xml文件中设置布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical"
     android:background="@drawable/background7" >
    <TextView
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/user" />
    <EditText
         android:id="@+id/user"
         android:layout_width="207dp"
         android:layout_height="wrap_content"
         android:hint="" />
    <TextView
         
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/password" />
    <EditText
         android:id="@+id/pwd"
         android:layout_width="203dp"
         android:layout_height="wrap_content"
         android:inputType="textPassword" />
    <TextView
         
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/repass" />
    <EditText
         android:id="@+id/repwd"
         android:layout_width="203dp"
         android:layout_height="wrap_content"
         android:inputType="textPassword" />
   <TextView
         
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/email" />
    <EditText
         android:id="@+id/email"
         android:layout_width="202dp"
         android:layout_height="wrap_content"
         android:hint="" />
    <Button
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:id="@+id/button1"
         android:text="@string/title"
     />
 </LinearLayout>
二:在主活动的Activity中进行信息的处理
package com.org.bundle_ac;
import android.os.Bundle;
 import android.app.Activity;
 import android.content.Intent;
 import android.view.Menu;
 import android.view.View;
 import android.view.View.OnClickListener;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.Toast;
public class MainActivity extends Activity {
 @Override
  protected 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) {
     // TODO Auto-generated method stub
     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();//获取输入的email地址
     
     if(!"".equals(user)&&!"".equals(pwd)&&!"".equals(email)){//进行判断
      if(!pwd.equals(repwd)){
       //如果两次输入的密码不一次给以提示消息并获得焦点
       Toast.makeText(MainActivity.this, "两次输入的密码不一致,请重新输入!", Toast.LENGTH_SHORT).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);//保存email地址
       intent.putExtras(bundle);//将Bundle对象添加到Intent对象中
       startActivity(intent);//启新的Activity
      }
     }else{
      Toast.makeText(MainActivity.this, "请将注册信息输入完整!", Toast.LENGTH_SHORT).show();
     }
    }//
    
   });
  }
 @Override
  public boolean onCreateOptionsMenu(Menu menu) {
   // Inflate the menu; this adds items to the action bar if it is present.
   getMenuInflater().inflate(R.menu.main, menu);
   return true;
  }
}
 
三:在layout目录下创建名为register.xml的文件
<?xml version="1.0" encoding="utf-8"?>
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:orientation="vertical" 
     android:background="@drawable/background7">
     <TextView
         android:id="@+id/textView1"
         android:layout_width="210dp"
         android:layout_height="30dp"
         android:text="@string/user" />
    <TextView
         android:id="@+id/textView2"
         android:layout_width="210dp"
         android:layout_height="30dp"
         android:text="@string/password" />
    <TextView
         android:id="@+id/textView3"
         android:layout_width="210dp"
         android:layout_height="30dp"
         android:text="@string/email" />
</LinearLayout>
四:创建一个RegisterActivity类,并进行信息的接收工作
package com.org.bundle_ac;
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) {
   // TODO Auto-generated method stub
   super.onCreate(savedInstanceState);
   setContentView(R.layout.register);//设置该Activity要显示的内容视图
   
   Intent intent=getIntent();//获取Intent对象
   Bundle bundle=intent.getExtras();//获取传递的数据包
   TextView user=(TextView)findViewById(R.id.textView1);//获取到显示用户名的TextView组件
   user.setText("用户名:"+bundle.getString("user"));//获取输入的用户名并显示到TextView组件中
   TextView pwd=(TextView)findViewById(R.id.textView2);//获取到显示密码的TextView组件
   pwd.setText("密码:"+bundle.getString("pwd"));//获取输入的密码并显示到TextView组件中
   TextView email=(TextView)findViewById(R.id.textView3);//获取到显示email的TextView组件
   email.setText("E-mail:"+bundle.getString("email"));//获取输入的email并显示到TextView组件中
  }
}
 
五:在AndroidManifest.xml文件中加入配置Activity的信息
<activity
             android:name=".RegisterActivity"
             android:label="@string/title"
             android:icon="@drawable/p1"
             ></activity>
六:string的文件下的
字符串的配置
<?xml version="1.0" encoding="utf-8"?>
 <resources>
    <string name="app_name">Bundle_Ac</string>
     <string name="action_settings">Settings</string>
     <string name="hello_world">Hello world!</string>
     <string name="user">用户名:</string>
     <string name="password">密码:</string>
     <string name="repass">确认密码:</string>
     <string name="email">Email地址:</string>
     <string name="button1">提交</string>
     <string name="title">提交</string>
 </resources>
 
最后加入背景图片:
只要改一下上面的代码就可以得到被调用的Activity的值
一;在MainActivity里面定义常量
private final int CODE=0x717;//定义一个请求的常量
二:startActivityForResult(intent,CODE);//启新的Activity
注意不在使用startActivity启动新的Activity了
三:在register.xml文件里面加入一个button的按钮组件
<Button
         android:id="@+id/back"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/buttoncontent"
     />
四:为返回的按钮添加事件监听
Button button=(Button)findViewById(R.id.back);//获取到返回上一步的按钮
   button.setOnClickListener(new OnClickListener(){
   @Override
    public void onClick(View arg0) {
     // TODO Auto-generated method stub
     setResult(0x717,intent);//设置返回的结果码,并返回调用该Activity的Activity
     finish();//关闭当前Activity
    }
    
   });
五:再次打开MainActivity,重写onActivityResult方法
 @Override
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   // TODO Auto-generated method stub
   super.onActivityResult(requestCode, resultCode, data);
   if(requestCode==CODE&&resultCode==CODE){
    ((EditText)findViewById(R.id.pwd)).setText("");//清空密码编辑框
    ((EditText)findViewById(R.id.repwd)).setText("");//清空确认密码编辑框
   }
  }
这样就可以根据返回的结果常量来对进行相应的操作了
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号