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直译是“意图”,什么是意图呢?比如你想从这个 ...
随机推荐
- java程序设计单一原则
在我的程序设计中一般一个类就负责一个职责 ex: class Animal{ public void brether(String animal){ System.out.println(animal ...
- ubuntu安装jdk-6u45-linux-x64-rpm.bin
1. 参考网址: http://www.xuebuyuan.com/2070575.html http://blog.csdn.net/csusunxgg/article/details/895602 ...
- 省市县distpicker的使用
下载地址https://github.com/fengyuanchen/distpicker 1.引入 <!-- 引入地址 begin --> <script type=" ...
- 解决淘宝sui插件后退bug
淘宝的sui插件在微信里,第一次访问没有问题,跳转走以后,再后退回来, 插件就无法正常加载. 一下是官方给出的说法 切换到的新页面中的 js 不执行 由于浏览器安全性考虑的限制以及可能的 js 重复执 ...
- Android控件之CheckBox(复选框控件)
一.有两种状态: 选中状态(true).未选中状态(false) 二.属性 android:id = "@+id/checkbox" android:layout_width=&q ...
- Linux系统的介绍
一.linux的特点: Linux是一个开源(源代码公开),免费的操作系统,其稳定性,安全性(也会有病毒,但因为linux是开源的,所以一旦有病毒就会有人去搞定它),处理多并发(月,NEC(日本电气股 ...
- Extjs中renderer:function函数用法
renderer:function(value, cellmeta, record, rowIndex, columnIndex, store){ } 1.value是当前单元格的值 2.cellme ...
- 转!!MAC和PHY的区别
一块以太网网卡包括OSI(开方系统互联)模型的两个层,物理层和数据链路层.物理层定义了数据传送与接收所需要的电与光信号.线路状态.时钟基准.数据编码和电路等,并向数据链路层设备提供标准接口.数据链路层 ...
- 【poj2728】Desert King
[poj2728]Desert King 题意 最优比率生成树. http://blog.csdn.net/ophunter_lcm/article/details/10113817 分析 Dinke ...
- noip2016酱油记day1
真的是noip2016酱油记了. t1模拟,应该可以过. t2用了个简单的桶瞎搞,估计剩50pt了. t3直接不会写. 心好累... 考的分数肯定没去年高. 但不论如何,明天正常发挥就好. 正常发挥下 ...