Android实现Activity两个界面的跳转和传值
前些天试着做了一个音乐播放器,很简单的一个程序,不过里面涉及到的知识需要我好好总结下。
首先我们首先说下两个Activity之间的跳转,不涉及传值。这里涉及到一个异常强大的Intent类,顾名思义,它的字面意思是“意图”,他异常重要,我们知道Android有四大核心组件 Activity、Service、Broadcast Receiver和Content Provider,略去Content Provider不提,剩下的三组组件靠的就是通过Intent所以说Intent的重要性你就可以知道的,真不是盖的!!!之前的博客中已经提到过了,可以通过它来实现打电话,发短信的功能。
实现两个Activity界面的跳转主要是用到Intent中的setclass(this,otherActivity.class)方法和Activity的startActivity()方法。
Intent intent=new Intent(); intent.setClass(MainActivity.this,MyActivity.class); this.startActivity(intent);
当然这样的几行代码并不能实现从MainActivity的界面到MyActivity界面的跳转,
我们还要做的工作是要在AndroidManifest.xml中注册一个MyAcitivity以获得权限
<activity android:name="com.example.helloworld.MyActivity" android:label="@string/app_name" > </activity>
下面是我自己写的学习步骤
c.通过Intent实现两个手机界面的跳转方法: Frist,创建一个新的Activity,继承super.onCreate()方法 Second,在layout文件夹下创建一个新的activaty_my.xml文件实现LinearLayout, 然后在界面添加自己想要在这个界面上出现的控件 setContentView(R.layout.activaty_my); Third,在MainActivity中的按钮监听器中加入如下代码: Intent intent=new Intent(); intent.setClass(MainActivity.this,MyActivity.class); this.startActivity(intent); Fourth,要在AndroidManifest.xml中注册一个Acitivity <activity android:name="com.example.helloworld.MyActivity" android:label="@string/app_name" > </activity>
实现从一个Activity向另一个Activity传值,在传值的时候主要用到intent的putExtra()方法,下面是该方法的截图
从上面的方法截图中那个可以看出,该方法可以传递的值的类型有很多,下面是从MainActivity的界面到PlayerActivity界面的跳转传递一个整数值和一个字符串的代码:
MainActivity中的代码 Intent intent = new Intent(); intent.setClass(MainActivity.this, PlayerActivity.class); //放入整数 intent.putExtra("key", 5); //放入字符串 intent.putExtra("str", "字符串"); startActivity(intent); PlayerActivity中的代码 Intent intent = this.getIntent(); // 获得整数 intMusicIndex = intent.getIntExtra("key", 0); //获得字符串 System.out.println(intent.getStringExtra("str"));
我们还可以通过 Bundle来包装数据再使用putExtra()来进行数据的传递
MainActivity中的代码: Intent intent = new Intent(); intent.setClass(MainActivity.this, PlayerActivity.class); Bundle bundle1=new Bundle(); bundle1.putInt("bundle", 33); //两个参数 intent.putExtra("intent", bundle1); Bundle bundle2=new Bundle(); bundle2.putString("ss", "无参"); //一个参数 intent.putExtras(bundle2); startActivity(intent); 注意一个是 putExtra,另一个是putExtras PlayerActivity中的代码: Intent intent = this.getIntent(); //获得指定的Bundle Bundle bundle0=intent.getBundleExtra("intent"); int i=bundle0.getInt("bundle"); System.out.println(i); //默认 Bundle bundle=intent.getExtras(); System.out.println(bundle.getString("ss")); 注意一个是getBundleExtra,一个是getExtras
相关推荐
Android源程序实现两个Activity之间的跳转
android界面跳转与传值 android中Activity的跳转和值通过SharedPreferences传递。
本文主要介绍Android 多个Activity相互之间的跳转,认识Activity生命周期,在做Android编程的时候用处很大,希望能帮助有需要的小伙伴
Android Activity的跳转与传值详解 Activity跳转与传值,主要是通过Intent类来连接多个Activity,以及传递数据。 Intent是Android一个很重要的类。Intent直译是“意图”,什么是意图呢?比如你想从这个Activity...
android中利用application类中的 ActivityLifecycleCallbacks接口实现activity的管理及界面传值
详细的介绍可以参考我的博客
android,启动service,并且service把值传给Activity显示
该程序实现了activity之间的跳转以及传值!
基于android studio 3.1开发环境。展示了两个Activity中的简单传值
android的activity直接传值问题
SmartGo:通过编译时注解生成文件,简化 Activity 跳转时传值及取值
在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播接收器(Broadcast Reciver)和内容提供者(Content Provider)。 今天所介绍的就是Android开发中的四大组件之一:Activity,其他那三大...
android activityIntent 传值 传对象
1.使用 Intent 和 Bundle 实现页面之间的参数传递和跳转; 2.ListView 的使用以及 ListView 中 Item 的点击事件处理 3.button点击事件
主要介绍了Android 中两个Activity 之间的传值问题的相关资料,需要的朋友可以参考下
能将第一个activity的值传到第二个activity,第二个activity的值能返回到第一个activity,适合初学者那来学习
android实现activity跳转,给初学者一点实例参考,本源码就是实现点击按钮,实现activity跳转
NULL 博文链接:https://fish198398.iteye.com/blog/1090696
自己项目中用到fragment搭建框架,从网上找得一个demo,实现activity与fragment相互传值;fragment与fragment跳转。跟大家分享