调用一个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("");//清空确认密码编辑框
}
}
这样就可以根据返回的结果常量来对进行相应的操作了
调用一个Activity并返回结果的更多相关文章
- 【Android】12.3 在当前Activity中获取另一个Activity的返回值
分类:C#.Android.VS2015: 创建日期:2016-02-23 一.简介 在上一节的示例中,通过StartActivity(Intent)方法启动另一个Activity后,这两个Activ ...
- Android中调用另一个Activity并返回结果-以模拟选择头像功能为例
场景 Android中点击按钮启动另一个Activity以及Activity之间传值: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/detail ...
- startActivityForResult调用另外一个Activity获取返回结果
startActivityForResult(intent,requestCode)可以调用另外一个Activity,并返回结果. 换头像案例 activity_main.xml <?xml v ...
- android中按back键返回上一个activity,如何重新调用上一个activity的oncreate方法?
默认情况下是不会调用的. @Override public void onBackPressed() { String titleStr = edittitle.getText().toString( ...
- 调用另一个Activity
<转>调用另一个Activity Intent对象的使用 范例说明 前一个范例介绍了如何运用切换Layout的方式,进行手机页面间的转换.如果要转换的页面并不单只是背景.颜色或文字内容的不 ...
- 从一个Activity返回上一个Activity
从一个Activity返回上一个Activity 要求:保留上一个Activity的数据 方法: 第一步:从Activity1转向Activity2时,用startActivityForResult而 ...
- 启动另外一个activity,并返回结果
欢迎大家光临我的小店:http://clkk.taobao.com 大致步骤: 1.启动另外一个Activity,这里称子Activity: 2.子Activity通过setResult方法设置返回结 ...
- android 案例:从另一个activity选择信息并获取返回值
主窗口: package com.example.test; import android.app.Activity; import android.app.AlertDialog; import a ...
- Android_打开多个Activity,返回到第一个Activity
正文 一.流程截图 二.问题说明 依次从登录到三级界面,然后退出回到登录界面. 三.解决办法 3.1 实现代码 三级界面调用如下代码: Intent intent = new Inte ...
随机推荐
- asp.net mvc3 数据验证(三)—自定义数据注解
原文:asp.net mvc3 数据验证(三)-自定义数据注解 前两节讲的都是asp.net mvc3预先设定的数据注解,但是系统自由的数据注解肯定不适合所有的场合,所以有时候我们需要 ...
- jq入门--选择器
选择器是JQuery一大特色,所有的DOM操作.事件操作.Ajax操作都离不开选择器.熟练掌握JQuery的选择器,可以节省很多代码,很大程序上简化我们的脚本编程工作. JQuery的选择器很类似于样 ...
- Codeforces 429 A. Xor-tree
下来的第一次相遇是在不翻盖的同一节点,递归可以是.... A. Xor-tree time limit per test 1 second memory limit per test 256 mega ...
- 题注Oracle数据库的网络连接原理
版权声明:本文博客原创文章,博客,未经同意,不得转载.
- Python开发环境Wing IDE使用教程:部分调试功能介绍
下面是用户应该了解的Wing IDE的其它一些调试功能: Main Debug File—用户可以指定项目中的一个文件作为调试的主入口点.当完成这个设置之后,调试总是从这个文件开始,除非用户使用Deb ...
- 基于Mvc3,Ef,领域驱动电子商务系统的EShop开发
分享自己从代码小工一步步走向搭架子,ING... 简单了解UnitOfWork 摘要: UnitOfWorkUnit Of Work模式,即工作单元,它是一种数据访问模式.它是用来维护一个由已经被业务 ...
- Js Date泣血整理
原文:Js Date泣血整理 JS Date 对象用于处理日期和时间. 创建 Date 对象的语法: var myDate=new Date() Date 对象会自动把当前日期和时间保存为其初始值. ...
- Unity 3.5
ASP.NET Web Forms 的 DI 應用範例 跟 ASP.NET MVC 与 Web API 比起来,在 Web Forms 应用程式中使用 Dependency Injection 要来的 ...
- gradle测试与线上打包
首先,第一反应理所当然的是profile : <?xml version="1.0" encoding="UTF-8"?> <beans xm ...
- iOS基础 - 手势识别 与 手势说明
一.使用手势识别的四个步骤 1> 实例化手势识别 - (id)initWithTarget:(id)target action:(SEL)action; 2> 设置手势识别属性 3> ...