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直译是“意图”,什么是意图呢?比如你想从这个 ...
随机推荐
- oracle 查看锁表情况并处理锁表
/* *locked *query locked object and analyse reason,kill it * */ select 'alter system kill session '' ...
- php三维数组变二维数组
<?php $result = Array(0 => Array(0 => Array(bid => 41,brealname => 'we教官',cid => 4 ...
- 使用myeclipse建立maven项目(重要)
maven是管理项目的,myeclipse是编写代码的.第一次写项目都要配置好多东西,很麻烦,now 来看看怎样新建一个maven项目. 工具/原料 myeclipse maven 方法/步骤 ...
- Linux之top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来不断刷新 ...
- D3.js 选择元素和绑定数据/使用数据
选择元素和绑定数据是 D3 最基础的内容,本文将对其进行一个简单的介绍. 一.如何选择元素 在 D3 中,用于选择元素的函数有两个: d3.select():是选择所有指定元素的第一个 d3.sele ...
- OpenGL的glViewport视口变换函数详解[转]
调用glViewPort函数来决定视见区域,告诉OpenGL应把渲染之后的图形绘制在窗体的哪个部位.当视见区域是整个窗体时,OpenGL将把渲染结果绘制到整个窗口. void glViewPort(G ...
- MapReduce工作原理
第一部分:MapReduce工作原理 MapReduce 角色•Client :作业提交发起者.•JobTracker: 初始化作业,分配作业,与TaskTracker通信,协调整个作业.•Tas ...
- Hbase之尝试使用错误列族获取数据
import com.google.common.base.Strings; import org.apache.hadoop.conf.Configuration; import org.apach ...
- python 集合
面向对象的集合: #coding:utf-8 __author__ = 'similarface' class Set: ''' list实现集合,及其集合操作 ''' def __init__(se ...
- JavaScript设计模式与开发实践 - 策略模式
引言 本文摘自<JavaScript设计模式与开发实践> 在现实中,很多时候也有多种途径到达同一个目的地.比如我们要去某个地方旅游,可以根据具体的实际情况来选择出行的线路. 如果没有时间但 ...