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)的更多相关文章

  1. android Activity介绍

    一般情况下,Android程序的流程都运行在activity中,activity具有自己的生命周期,由系统来控制.可以使用onSaveInstanceState()和onRestoreInstance ...

  2. Android Activity的加载的模式

    ---恢复内容开始--- 本文来自http://www.cnblogs.com/lwbqqyumidi/p/3771542.html launchMode在多个Activity跳转的过程中扮演着重要的 ...

  3. Android activity和service的生命周期对比

    1Activity生命周期 七个方法 1. void onCreate(Bundle savedInstanceState) 当Activity被第首次加载时执行.我们新启动一个程序的时候其主窗体的o ...

  4. Android Activity的生命周期简单总结

    Android Activity的生命周期简单总结 这里的内容参考官方的文档,这篇文章的目的不是去总结Activity是如何启动,如何创造,以及暂停和销毁的,而是从实际开发中分析在Activity各个 ...

  5. Android Activity的加载模式和onActivityResult方法之间的冲突

    前言 今天在调试程序时,发现在某一Activity上点击返回键会调用该Activity的onActivityResult()方法.我一开始用log,后来用断点跟踪调试半天,还是百思不得其解.因为之前其 ...

  6. Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法:

    Android Activity的onSaveInstanceState() 和 onRestoreInstanceState()方法: 1. 基本作用: Activity的 onSaveInstan ...

  7. Android Activity 详述

    activity类处于android.app包中,继承关系: extends ContextThemeWrapper implements LayoutInflater.Factory2 Window ...

  8. Android Activity初探

    原地址:Android Activity初探 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个 ...

  9. Android Activity的生命周期详解

    应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应. Activity之间通过Intent进行通信.在Intent 的描述结构中,有两个最 ...

随机推荐

  1. VMware设置及linux静态ip设置

    1.   VMWARE虚拟机NAT模式上网设置 1.1. VM虚拟机设置 1.1.1.   虚拟机全局设置 启动虚拟机选择[虚拟网络编辑器] 如果需要管理员权限点[更改设置],没有提示这忽略这一步 选 ...

  2. 学习神器!本机安装虚拟机,并安装Linux系统,并部署整套web系统手册(包含自动部署应用脚本,JDK,tomcat,TortoiseSVN,Mysql,maven等软件)

    1.   引言 编写目的 本文档的编写目的主要是在Linux系统上部署mis_v3员工管理系统,方便测试,并为以后开发人员进行项目部署提供参考 准备工作 软件部分 软件项 版本 备注 Mysql 5. ...

  3. 在TFS中获取项目,获取最新和上传(迁入)

    一.在TFS中获取项目: (1)team (2)connect to team.... (3)选择服务地址,然后close (4)然后映射本地文件夹下载项目 (5)mapped添加映射,在map下就可 ...

  4. 7. Reverse Integer 反转整数

    [抄题]: 将一个整数中的数字进行颠倒,当颠倒后的整数溢出时,返回 0 (标记为 32 位整数).   样例 给定 x = 123,返回 321 给定 x = -123,返回 -321 [暴力解法]: ...

  5. 基于PCL的屏幕选点、框选点云、单点选取

    1. 单点选取 #include <pcl/io/pcd_io.h> #include <pcl/point_cloud.h> #include <pcl/point_t ...

  6. Luogu 2597 [ZJOI2012]灾难

    BZOJ 2815. 解法还是挺巧妙的. 放上写得很详细很好懂的题解链接  戳这里. 一个物种$x$如果要灭绝,那么沿着它的入边反向走走走,一定可以走到一个点$y$,如果这个点$y$的物种灭绝了,那么 ...

  7. urllib2设置代理

    #coding=utf-8 #公司网络只有连接vpn跳板机才能使用该模块 import urllib2 proxy_handler=urllib2.ProxyHandler({'http':'http ...

  8. Entity Framework 6.0 Tutorials(5):Command Interception

    Interception: Here, you will learn how to intercept EF when it executes database commands. EF 6 prov ...

  9. [redis]redis-cluster的使用

    1.为集群添加一个主节点 首先准备一个全新的redis文件夹,这里我们叫做为7007 [root@CentOS7 redis-cluster]# ls [root@CentOS7 redis-clus ...

  10. DB2 添加license

    DB2 - DB2COPY1 - DB2-0 服务不能启动报的错是这样的:Microsoft Management Console   Windows 不能在 本地计算机 启动 DB2 - DB2.有 ...