Android activity实现多个界面的相互跳转(主要利用Intent)

1.新建activity流程

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

2.页面跳转(利用Intent实现)

Intent称为意图,是Android各大组件连接的桥梁

<1>页面1

public class MainActivity extends AppCompatActivity {
    Button button;
    TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button=findViewById(R.id.button);  //在XML文件中寻找组件
        textView=findViewById(R.id.textView);

        button.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);
            textView.setText(i+"");
        }
    }
}

<2>页面2

public class Main2Activity extends AppCompatActivity {
    TextView textView2;
    Button button2;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        textView2=findViewById(R.id.textView2);
        button2=findViewById(R.id.button2);
        final Intent intent=getIntent(); //接收所传送过来的数据
        String data=intent.getStringExtra("001");  //参数为页面1的字符的代号
        textView2.setText(data);
        button2.setOnClickListener(new View.OnClickListener() {  //绑定按钮点击事件
            @Override
            public void onClick(View v) {
                intent.putExtra("002",666); //参数1为数据代号,参数2为数据内容
                setResult(0x02,intent);   //参数1为结果码
                finish();//退出Main2Activity页面
            }
        });
    }
}

原文地址:https://www.cnblogs.com/luckyplj/p/10467248.html

时间: 2024-10-29 14:47:06

Android activity实现多个界面的相互跳转(主要利用Intent)的相关文章

Android Activity界面切换添加动画特效

在Android 2.0之后有了overridePendingTransition() ,其中里面两个参数,一个是前一个activity的退出两一个activity的进入, Java代码   @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.SplashScreen); new Handler().postD

Android开发中如何实现外部其他Activity类与指定fragment碎片的相互跳转

先说一下这个问题产生的背景 Activity A中有四个fragment,分别是 a b c d,默认显示的是fragment a.在开发过程中,fragment d中需要和外部Activity进行跳转,将这个外部Activity命名为B吧... 我需要从d中跳转到B中,完成一些设置,然后再从B中的返回按钮回到d.但是使用startActivity()方法的结果是:可以实现从d到B的跳转,但是从B跳到d出现了问题. 网上搜索了一下相关问题的解决方案(博文) 方案一: 要考虑fragment的复用

Android Activity之间信息的传递

在Android中,活动是一个界面,当需要在界面之间相互切换的时候,需要用到Intent(意图)进行消息传递.使用startActivity(Intent)函数启动另一个活动. Bundle是一个key-Value类,可以用他携带信息. Bundle.putString("key","String")方法和Bundle.getString("key")方法放入与取出信息. 可以将信息放入到Intent中,使用方法Intent.putExtras(

android内存优化5—对界面UI的优化(2)

在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件.一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局.如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差:另一个是修改起来比较麻烦,对后期的修改和维护非常不利.所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候,可以通过<include /> 标签来重用layout的代码. 常见的,有的应用在最上方会有一个

Android activity和service的生命周期对比

1Activity生命周期 七个方法 1. void onCreate(Bundle savedInstanceState) 当Activity被第首次加载时执行.我们新启动一个程序的时候其主窗体的onCreate事件就会被执行.如果Activity被销毁后(onDestroy后),再重新加载进Task时,其onCreate事件也会被重新执行. 2. void onStart()   activity变为在屏幕上对用户可见时调用. 3. void onResume()   activity开始与

android内存优化6—对界面UI的优化(3)

本篇博文主要讨论一下复杂界面中常用的一种技术--界面延迟加载技术. 有时候,我们的页面中可能会包含一些布局,这些布局默认是隐藏的,当用户触发了一定的操作之后,隐藏的布局才会显示出来.比如,我们有一个Activity用来显示好友的列表,当用户点击Menu中的"导入"以后,在当前的Activity中才会显示出一个导入好友的布局界面.从需求的角度来说,这个导入功能,一般情况下用户是不使用的.即大部分时候,导入好友的布局都不会显示出来.这个时候,就可以使用延迟加载的功能. ViewStub是一

android——activity与view

1.       activity, view概述 进行android开发,只需具有java语言基础即可.入门的开发并不需要一些高深的java知识,如Swing,网络,线程,数据库等. 刚开始进行android开发,会觉得android的架构设计得很好,接口简单,模块独立.特别是像我这种C++程序员来说,没有了框架自动添加的很多消息映射宏,窗口的启动,过多复杂的类等.如android应用程序的基本构成就采用MVC模式,界面与逻辑开发独立,程序员可以只专注于程序逻辑开发,美工可以专注于界面设计.

Android 背景可滑动登录界面 「 实现不压缩背景弹出键盘 」

Android 背景可滑动登录界面 废话不多说,先看下实现后的效果: 实现思路 看到上边 gif 图的效果,主要列举一下实现过程过程中遇到的难点. 如何使键盘弹出时候不遮挡底部登录布局: 当键盘弹出的时候如何不压缩背景图片或者背景延伸至「屏幕以外」: 从 「 windowSoftInputMode 」 说起 相信大家都清楚,Google 官方提供给开发者控制软键盘显示隐藏的方法不多,「windowSoftInputMode」算是我们可控制的软键盘弹出模式的方法之一.关于其属性的说明Google

Android Activity的加载的模式

---恢复内容开始--- 本文来自http://www.cnblogs.com/lwbqqyumidi/p/3771542.html launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity实例公用一个task里.这里简单介绍一下task的概念,task是一个具有栈结构的对象,一个task可以管理多个Activity,启动一个应用,也就创建一个与之对应的task. Acti