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直译是“意图”,什么是意图呢?比如你想从这个 ...
随机推荐
- 关于远程连接MySQL数据库的问题解决
安装MySQL sudo apt-get install mysql-server 这个应该很简单了,而且我觉得大家在安装方面也没什么太大问题,所以也就不多说了,下面我们来讲讲配置. 配置MySQL ...
- textarea还剩余字数统计
<!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...
- Android Loader详解
装载器从android3.0开始引进.它使得在activity或fragment中异步加载数据变得简单.装载器具有如下特性: 它们对每个Activity和Fragment都有效. 他们提供了异步加载数 ...
- Handler知识点详解
Handler是在多线程之间使用的,用于线程之间进行通信. 要想知道为什么需要Handler就首先说明android的主线程和工作线程. 主线程又称为UI线程.正是因为在android中,所有与UI有 ...
- Android 自定义Toast
自定义Toast 其实就是自定义布局文件 感觉利用Dialog或者PopupWindow做也差不多 上图上代码 public class MainActivity extends Activity { ...
- Hashtable HashMap
Hashtable和HashMap类有三个重要的不同之处.第一个不同主要是历史原因.Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现. ...
- Android面试题整理【转载】
面试宝典(5) http://www.apkbus.com/android-115989-1-1.html 面试的几个回答技巧 http://blog.sina.com.cn/s/blog_ad ...
- 【ubuntu java】java: error while loading shared libraries: libjli.so: cannot open shared object file: No such file or directory
先检查了环境变量PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loca ...
- iOS高性能图片架构与设计
版权声明:本文由柯灵杰原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/157 来源:腾云阁 https://www.qclo ...
- 在centos6.5中安装mysql5.7
简介 博主最近在研究mysql的读写分离和主从复制,一台master和两台slave,三台机器在同一个局域网中,首先就就要在centos6.5中安装mysql5.7.好了,废话不多说,接下来进入正题. ...