Android——关于Activity跳转的返回(无返回值和有返回值)——有返回值




说明:
跳转页面,并将第一页的Edittext输入的数据通过按钮Button传到第二页用Edittext显示,点击第二页的
返回按钮Button返回第一页(改变第二页的Edittext的内容会传至第一页的Edittext显示)
——有返回值的方式
1.给第一页面Edittext和Button设置id
2.设置Button的点击监听
(1)获取view实例,通过Edittext的id找到Edittext
(2)获取内容并转为文本形式
getText().toString()
(3)设置Intent(意图)告诉第二个页面,我要跳转了
Intent in = new Intent(this,excise2.class);
(4)在跳转的同时,通过Intent将输入的文本内容一并存储传过去
in.putExtra("myet",str);
(5)开始跳转 区别普通方式
startActivityForResult(in,1);
3.接受页面用Edittext接收
(1)给接受页面Edittext和Button设置id
(2)创建第二页面
public class excise2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.excise2);
(3)接收Intent意图 get
Intent in = getIntent();
(4)取存入的数据 get get
String str = in.getExtras().getString("myet");
(5)显示数据
操作View实例
EditText mytv= ( EditText)findViewById(R.id.jieshouzhi);
恢复输入框里面的内容(设置) set
mytv.setText(str);
4.设置按钮的点击监听
(1)存储返回数据 也要用Intent
EditText ett = (EditText)findViewById(R.id.jieshouzhi);
(2)设置返回数据
先设置ResultCode,再设置存储数据的意图
Intent in = new Intent();
setResult(RESULT_OK,in.putExtra("mytv",ett.getText().toString()));
(3)关闭
finishi();
5.在第一个页面接收返回的值
(1)重写回调方法
onActivityResult(int requestCode, int resultCode, Intent data)
(2)加判断条件
(3) 先获取返回的信息
String str = data.getExtras().getString("mytv");
(4)显示
EditText ett = (EditText)findViewById(R.id.ett);
5)传值 设置 set
ett.setText(str);
excise1.xml
<EditText
android:layout_width="200dp"
android:layout_height="wrap_content"
android:textSize="40dp"
android:id="@+id/ett"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="传值至第三页"
android:textSize="40dp"
android:id="@+id/chuanzhi"
android:layout_marginTop="100dp"
android:onClick="clickcz"
/>
excise1.java
public void clickcz(View view)
{
//Toast静态方法 直接用类名调用,不需要实例化
//构建了Toast方法 实例方法调用 方法链
Toast.makeText(this,"这是鼠标点击监听触发的",Toast.LENGTH_LONG).show(); //取得要传递的信息
//获取View实例
EditText ett = (EditText)findViewById(R.id.ett);
//获取内容
String str = ett.getText().toString();
//跳转用意图
Intent in = new Intent(this,excise2.class);
//存储内容 通过Intent
//Extra 扩展 实际上是一个HashMap,进行限制 putExtra 是一个bundle
in.putExtra("myet",str);
//开始跳转 无返回值的写法
//startActivity(in); //开始跳转 有返回值的写法
//启动方式,有返回值
//第一个参数 intent
//第二个参数 requestCode 请求码
startActivityForResult(in,1); }
//处理返回信息的监听(回调方法)
//监听所有返回信息的
//必须要有requestCode区分由哪个请求返回的
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data); if(requestCode ==1)
if(resultCode == RESULT_OK)
{ //先获取返回的信息
String str = data.getExtras().getString("mytv");
//显示
EditText ett = (EditText)findViewById(R.id.ett);
//传值 设置 set
ett.setText(str);
}
else
{
Toast.makeText(this,"返回的内容有错误",Toast.LENGTH_LONG);
}
}
excise2.xml
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="excise2 第三页"
android:textSize="40dp"
android:id="@+id/jieshouzhi"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="250px"
android:text="带返回值得返回"
android:textSize="40dp"
android:id="@+id/clickec4"
android:onClick="clickec4"/>
excise2.java
package com.example.chenshuai.excise; import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText; /**
* Created by chenshuai on 2016/3/20.
*/
public class excise2 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.excise2); //接受信息 //1.接受传递过来的意图
Intent in = getIntent();
//2.取数据
String str = in.getExtras().getString("myet");
//3.显示在哪里
//操作View实例
EditText mytv= (EditText)findViewById(R.id.jieshouzhi);
//恢复输入框里面的内容(设置) set
mytv.setText(str); }public void clickec4(View v)
{
//存储返回数据 也要用Intent
EditText ett = (EditText)findViewById(R.id.jieshouzhi); //设置返回数据
//先设置ResultCode,再设置存储数据的意图
Intent in = new Intent(); setResult(RESULT_OK,in.putExtra("mytv",ett.getText().toString())); finish();
} }
Android——关于Activity跳转的返回(无返回值和有返回值)——有返回值的更多相关文章
- Android的Activity跳转动画各种效果整理
Android的Activity跳转就是很生硬的切换界面.其实Android的Activity跳转可以设置各种动画,本文整理了一些,还有很多动画效果,就要靠我们发挥自己的想象力 大家使用Android ...
- Android之Activity跳转
简述 如果把每个activity看成一个页面的话,那么activity之间的跳转和页面的之间的跳转基本上是一样的.首先需要监听一个事件,当这个事件发生的时候,就进行跳转.html中有个<a sr ...
- android 15 activity跳转
从一个屏幕跳到另一个屏幕,一个activity跳转到另一个activity,Intent类用于组件之间传递数据和跳转,组件包括不仅activity. package com.sxt.day04_01; ...
- android入门,activity跳转,并传递message
首先是布局文件,如下: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <L ...
- android单元测试 activity跳转 以及 input 输入后 测试
Android junit实现多个Activity跳转测试 分类: Android Junit测试2011-11-14 16:49 1601人阅读 评论(2) 收藏 举报 androidjunitla ...
- android之 Activity跳转出现闪屏
原文:http://blog.csdn.net/az313/article/details/17321549 同一个应用,在不同手机上测试,Activity之间跳转出现闪屏,界面来回跳转…… 查阅网上 ...
- Android:activity跳转过渡效果
放在startActivity(intent);后面 overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out) ...
- Android课程---Activity 带返回值的跳转
Activity2.java package com.hanqi.test4; import android.content.Intent; import android.os.Bundle; imp ...
- Android课程---Activity的跳转与传值(转自网上)
Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据. Intent是Android一个很重要的类.Intent直译是“意图”,什么是意图呢?比如你想从这个 ...
随机推荐
- ES6中的const命令
1.const声明一个只读常量,一旦声明,常量的值就不能改变 1 const PI=3.1415; 2 console.log(PI);//3.1415 3 4 PI=3;//Uncaught T ...
- iOS 开发之照片框架详解(2)
一. 概况 本文接着 iOS 开发之照片框架详解,侧重介绍在前文中简单介绍过的 PhotoKit 及其与 ALAssetLibrary 的差异,以及如何基于 PhotoKit 与 AlAssetLib ...
- Sublime3基础使用技巧
1.安装SideBarEnhancements插件 ctrl+shift+p —> Install Package —> 找到SideBarEnhancements 2.安装CSS调色器: ...
- PHP 安全相关 简单知识
概要: 1.php一些安全配置 (1)关闭php提示错误功能 (2)关闭一些“坏功能” (3)严格配置文件权限. 2.严格的数据验证,你的用户不全是“好”人 2.1为了确保程序的安全性,健壮性,数据验 ...
- 解决Tomcat: Can't load IA 32-bit .dll on a AMD 64-bit platform问题
http://201209235316.iteye.com/blog/2063853 http://www.cnblogs.com/liuyp-ken/p/5503822.html
- genymotion是一款完全超越BlueStacks
今天给大家推荐一款超赞的神器:genymotion. 一:什么是genymotion genymotion是一款完全超越BlueStacks的安卓模拟器,正如它中文官网的介绍:快到极致的An ...
- MIRO校验过程
一.介绍发票校验是物料管理(MM)系统的一部分.它提供物料管理部分和财务会计, 成本控制和资产管理部分的连接.物料管理模块的发票校验为以下目的服务:它完成物料采购的全过程 - 物料采购从采购申请开始, ...
- dedecms 网站优化技巧
1.把列表文件中的<title>***</title>改为栏目名称-seo标题-网站名称即<title>{dede:field.title/}-{dede:fiel ...
- 在centos6.5中安装reids
一.简介 Redis是一个key-value存储系统,是一个内存数据库,Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作 ...
- 浏览器编码的函数简介escape(),encodeURI(),encodeURIComponent()
1.escape() escape()是js编码函数中最古老的一个.虽然这个函数现在已经不提倡使用了,但是由于历史原因,很多地方还在使用它,所以有必要先从它讲起. 实际上,escape()不能直接用于 ...