一:在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("");//清空确认密码编辑框
  }
 }

这样就可以根据返回的结果常量来对进行相应的操作了

调用一个Activity并返回结果的更多相关文章

  1. 【Android】12.3 在当前Activity中获取另一个Activity的返回值

    分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...

  2. Android中调用另一个Activity并返回结果-以模拟选择头像功能为例

    场景 Android中点击按钮启动另一个Activity以及Activity之间传值: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail ...

  3. startActivityForResult调用另外一个Activity获取返回结果

    startActivityForResult(intent,requestCode)可以调用另外一个Activity,并返回结果. 换头像案例 activity_main.xml <?xml v ...

  4. android中按back键返回上一个activity,如何重新调用上一个activity的oncreate方法?

    默认情况下是不会调用的. @Override public void onBackPressed() { String titleStr = edittitle.getText().toString( ...

  5. 调用另一个Activity

    <转>调用另一个Activity Intent对象的使用 范例说明 前一个范例介绍了如何运用切换Layout的方式,进行手机页面间的转换.如果要转换的页面并不单只是背景.颜色或文字内容的不 ...

  6. 从一个Activity返回上一个Activity

    从一个Activity返回上一个Activity 要求:保留上一个Activity的数据 方法: 第一步:从Activity1转向Activity2时,用startActivityForResult而 ...

  7. 启动另外一个activity,并返回结果

    欢迎大家光临我的小店:http://clkk.taobao.com 大致步骤: 1.启动另外一个Activity,这里称子Activity: 2.子Activity通过setResult方法设置返回结 ...

  8. android 案例:从另一个activity选择信息并获取返回值

    主窗口: package com.example.test; import android.app.Activity; import android.app.AlertDialog; import a ...

  9. Android_打开多个Activity,返回到第一个Activity

    正文 一.流程截图 二.问题说明 依次从登录到三级界面,然后退出回到登录界面. 三.解决办法 3.1 实现代码 三级界面调用如下代码:         Intent intent = new Inte ...

随机推荐

  1. jQuery插件——多级联动菜单

    jQuery插件——多级联动菜单 引言 开发中,有好多地方用到联动菜单,以前每次遇到联动菜单的时候都去重新写,代码重用率很低,前几天又遇到联动菜单的问题,总结了下,发现可以开发一个联动菜单的功能,以后 ...

  2. C语言学习笔记-顺序表

    #include "stdafx.h" #include <stdio.h> #include <stdlib.h> #include "coni ...

  3. java设计模式之单例模式(七种方法)

    单例模式:个人认为这个是最简单的一种设计模式,而且也是在我们开发中最常用的一个设计模式. 单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个 ...

  4. 安卓MonkeyRunner源码分析之启动

    在工作中因为要追求完成目标的效率,所以更多是强调实战,注重招式,关注怎么去用各种框架来实现目的.但是如果一味只是注重招式,缺少对原理这个内功的了解,相信自己很难对各种框架有更深入的理解. 从几个月前开 ...

  5. PHP 1:在Windows上安装和配置PHP,Apache和My SQL

    原文:PHP 1:在Windows上安装和配置PHP,Apache和My SQL 如果你Google一把类似的主题,你会发现相关的文章可以塞满你的硬盘.在这里之所以把它再次拿出来,目的是想记录我作为一 ...

  6. [译]Java 设计模式之工厂

    (文章翻译自Java Design Pattern: Factory) 1.Java工厂模式的来历 工厂设计模式用于创建基于不同参数的对象.下面的例子就是在一个工厂里创建一个人.如果我们向工厂要一个b ...

  7. 1关于script标签属性,注意点,浏览器文档模式,各种数据类型的转化

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  8. Indenting source code

    Artistic Style 1.15.3 A Free , Fast and Small Automatic Formatterfor C , C++ , C# , Java Source Code ...

  9. Definition of:payload

    (1) Refers to the "actual data" in a packet or file minus all headers attached for transpo ...

  10. jquery水印插件:placeholder

    jquery水印插件:placeholder 有的浏览器支持html5的水印placeholder(如Crome,firefox,ie10+),有的不支持html5的placeholder(ie9,i ...