008 Android activity实现多个界面的相互跳转(主要利用Intent)
1.activity介绍
一个activity就把他理解成一个页面
activity永远是全屏的。
2.新建activity流程

如图所示在com.lucky.test06的目录下,右击new--->Activity--->Empty Activity,会出现如下,点击finish即可。

3.页面跳转(利用Intent实现,页面跳转传值)
Intent称为意图,是Android各大组件连接的桥梁
案例:test06
<1>页面1
布局页面:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity"
android:gravity="center"> <TextView
android:id="@+id/tv_show1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" /> <!--android:layout_marginTop="20dp" 设置button组件顶部距离上一个组件的距离为20dp-->
<Button
android:id="@+id/bt_link1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="link1" />
</LinearLayout>
后台代码:
package com.lucky.test06; import android.app.Activity;
import android.content.Intent;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView; public class MainActivity extends AppCompatActivity {
Button bt_link1;
TextView tv_show1; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt_link1=findViewById(R.id.bt_link1); //在XML文件中寻找组件
tv_show1=findViewById(R.id.tv_show1); bt_link1.setOnClickListener(new View.OnClickListener() { //绑定按钮点击事件
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,Main2Activity.class);//参数1为跳转页面,参数2为跳转目标页
intent.putExtra("001","雨后观山色"); //参数1为传输数据的代号,参数2为数据内容
startActivityForResult(intent,0x01);//参数1为intent,参数2为请求码 }
});
} @Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { // 接收另一个页面的返回的数据
super.onActivityResult(requestCode, resultCode, data);
if(requestCode==0x01&&resultCode==0x02){ //判断请求码和结果码是否正确
int i=data.getIntExtra("002",0);
tv_show1.setText(i+"");
}
}
}
<2>页面2
页面布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".Main2Activity"> <TextView
android:id="@+id/tv_show2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" /> <!--android:layout_marginTop="20dp" 设置button组件顶部距离上一个组件的距离为20dp-->
<Button
android:id="@+id/bt_link2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="link2" />
</LinearLayout>
后台代码:
package com.lucky.test06; import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView; public class Main2Activity extends AppCompatActivity {
TextView tv_show2;
Button bt_link2; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
tv_show2=findViewById(R.id.tv_show2);
bt_link2=findViewById(R.id.bt_link2);
final Intent intent=getIntent(); //接收所传送过来的数据
String data=intent.getStringExtra("001"); //参数为页面1的字符的代号
tv_show2.setText(data);
bt_link2.setOnClickListener(new View.OnClickListener() { //绑定按钮点击事件
@Override
public void onClick(View v) {
intent.putExtra("002",666); //参数1为数据代号,参数2为数据内容
setResult(0x02,intent); //参数1为结果码
finish();//退出Main2Activity页面
}
});
}
}
效果图:

008 Android activity实现多个界面的相互跳转(主要利用Intent)的更多相关文章
- android Activity介绍
一般情况下,Android程序的流程都运行在activity中,activity具有自己的生命周期,由系统来控制.可以使用onSaveInstanceState()和onRestoreInstance ...
- Android Activity的加载的模式
---恢复内容开始--- 本文来自http://www.cnblogs.com/lwbqqyumidi/p/3771542.html launchMode在多个Activity跳转的过程中扮演着重要的 ...
- Android activity和service的生命周期对比
1Activity生命周期 七个方法 1. void onCreate(Bundle savedInstanceState) 当Activity被第首次加载时执行.我们新启动一个程序的时候其主窗体的o ...
- Android Activity的生命周期简单总结
Android Activity的生命周期简单总结 这里的内容参考官方的文档,这篇文章的目的不是去总结Activity是如何启动,如何创造,以及暂停和销毁的,而是从实际开发中分析在Activity各个 ...
- Android Activity的加载模式和onActivityResult方法之间的冲突
前言 今天在调试程序时,发现在某一Activity上点击返回键会调用该Activity的onActivityResult()方法.我一开始用log,后来用断点跟踪调试半天,还是百思不得其解.因为之前其 ...
- Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法:
Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法: 1. 基本作用: Activity的 onSaveInstan ...
- Android Activity 详述
activity类处于android.app包中,继承关系: extends ContextThemeWrapper implements LayoutInflater.Factory2 Window ...
- Android Activity初探
原地址:Android Activity初探 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个 ...
- Android Activity的生命周期详解
应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最 ...
随机推荐
- 关于CountDownLatch控制线程的执行顺序
在上一篇文章中说过使用thread.join()方法.newSingleThreadExecutor单线程池来控制线程执行顺序.在文章的末尾我提出了一种构想,可否使用经典的生产者和消费者模型来控制执行 ...
- php 读取和下载execl
最近用到php 对excel 的操作 下来 小弟为大家 先贴一下自己的代码 有什么补充的 大神们请指点下.感激不尽. 我用的是yii2 yii2中有类 phpexcel 先说说下载吧. 首先下载 ...
- CMakefile for Cross-Platform Compling - 1
cmake可以自动侦测目标系统,通常编译时候包含的文件和链接的库都不是本地的文件. Demo #toolchain cmake file SET(CMAKE_SYSTEM_NAME Linux) SE ...
- 41、OrthoMCL和mcl软件进行基因家族分析
转载:http://www.realbio.cn/news/124.html https://blog.csdn.net/seallama/article/details/43820763 http: ...
- Luogu 4091 [HEOI2016/TJOI2016]求和
BZOJ 4555 一道模板题. 第二类斯特林数有公式: $$S(n, m) = \frac{1}{m!}\sum_{i = 0}^{m}(-1)^i\binom{m}{i}(m - i)^n$$ 考 ...
- Part4_lesson4---Bootloader架构设计
1.第一阶段程序设计 第二阶段程序设计
- App性能测试工具使用说明-MobilePerformance
一. 环境搭建 安装Android SDK 1.6或者1.7版本均可,建议1.7,环境变量的配置,Java SDK的安装很简单,不赘述了. 安装SDK 1.安装Android SDK: 2.安装完毕后 ...
- App测试从入门到精通之App分类和场景操作系统
App概要 APP是application的缩写.通常指的是手机软件上的应用,或称为手机客户端.手机app就是手机的应用程序.随着智能手机的越发普及,用户越发依赖手机软件商品店,app开发的需求与发展 ...
- 关于Gridview激发了未处理的事件“RowDeleting”错误的处理
关于通过RowCommend事件执行删除操作时,提示 Gridview激发了未处理的事件“RowDeleting”错误的处理: <asp:TemplateField HeaderText=&qu ...
- APP压力稳定性测试
转自:https://www.cnblogs.com/nuonuozhou/p/8643735.html 1.android系统自带monkey程序,模拟用户触摸屏幕,滑动track ball,按键等 ...