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 的描述结构中,有两个最 ...
随机推荐
- as+bt=1是ab两数互质的充要条件
[as+bt=1是ab两数互质的充要条件] 充分性,as+bt=1 => (a,b)=1: 因为as+bt=1,设c=(a,b),则c整除a和b,所以c整除as+bt,即c整除1,所以c=1,即 ...
- 【bzoj3940】[Usaco2015 Feb]Censoring
[题目描述] FJ把杂志上所有的文章摘抄了下来并把它变成了一个长度不超过10^5的字符串S.他有一个包含n个单词的列表,列表里的n个单词 记为t_1...t_N.他希望从S中删除这些单词. FJ每次 ...
- 八数码问题——A*大法好
[描述] 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示. 空格周围的棋子可以移到空格中. 要求解的问题是:给出一种初始布局(初始状态)和目标布局( ...
- dubbo参数调优
dubbo中配置优先级规律:方法级配置优先级高于接口级,consumer的优先级高于provider. 详细: consumer的method配置 > provider的method配置 c ...
- 虚拟机Ubuntu16.04安装lrzsz
[系统环境] 宿主机:Win7 64位 虚拟机软件:Vmware workstation 12 虚拟机:Ubuntu 16.0.4 [目的] 配合Secure CRT使用rz,sz,方便在Ubuntu ...
- 如何撤回经由Outlook2016刚发出的邮件
在Outlook2016中,刚发出了一封邮件,发现有问题,想撤回,如何处理? 在对方尚未查看和接收时,可撤回. 参考步骤 1.选中这封邮件,用鼠标双击打开 2.点Move旁边的下拉按钮 3.点击&qu ...
- caret 分类回归树 用法
http://topepo.github.io/caret/feature-selection-overview.html
- jquery延时刷新
setTimeout(function(){ location.replace(location.href); },1000);
- 特殊的HttpApplication事件处理
在global.asax中,针对HttpApplication的事件处理,可以通过定义特殊命名的方法来实现.首先,这些方法必须符合System.EventHandler,因为所有的HttpApplic ...
- QT开发环境
代码实现界面和槽 代码实现界面和槽 在上述工程的dialog.h中添加如下加黑代码: 加入头文件: #include <QLabel> #include <QLineEdit> ...