Android实现两个Activity界面的跳转并传值
2018-01-19 13:11
573 查看
Android实现Activity两个界面的跳转和传值
前些天试着做了一个音乐播放器,很简单的一个程序,不过里面涉及到的知识需要我好好总结下。
首先我们首先说下两个Activity之间的跳转,不涉及传值。这里涉及到一个异常强大的Intent类,顾名思义,它的字面意思是“意图”,他异常重要,我们知道Android有四大核心组件 Activity、Service、Broadcast Receiver和Content Provider,略去Content Provider不提,剩下的三组组件靠的就是通过Intent所以说Intent的重要性你就可以知道的,真不是盖的!!!之前的博客中已经提到过了,可以通过它来实现打电话,发短信的功能。
实现两个Activity界面的跳转主要是用到Intent中的setclass(this,otherActivity.class)方法和Activity的startActivity()方法。
[java] view
plain copy
Intent intent=new Intent();
intent.setClass(MainActivity.this,MyActivity.class);
this.startActivity(intent);
当然这样的几行代码并不能实现从MainActivity的界面到MyActivity界面的跳转,
我们还要做的工作是要在AndroidManifest.xml中注册一个MyAcitivity以获得权限
[java] view
plain copy
<activity
android:name="com.example.helloworld.MyActivity"
android:label="@string/app_name" >
</activity>
下面是我自己写的学习步骤
[java] view
plain copy
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界面的跳转传递一个整数值和一个字符串的代码:
[java] view
plain copy
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()来进行数据的传递
[java] view
plain copy
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
前些天试着做了一个音乐播放器,很简单的一个程序,不过里面涉及到的知识需要我好好总结下。
首先我们首先说下两个Activity之间的跳转,不涉及传值。这里涉及到一个异常强大的Intent类,顾名思义,它的字面意思是“意图”,他异常重要,我们知道Android有四大核心组件 Activity、Service、Broadcast Receiver和Content Provider,略去Content Provider不提,剩下的三组组件靠的就是通过Intent所以说Intent的重要性你就可以知道的,真不是盖的!!!之前的博客中已经提到过了,可以通过它来实现打电话,发短信的功能。
实现两个Activity界面的跳转主要是用到Intent中的setclass(this,otherActivity.class)方法和Activity的startActivity()方法。
[java] view
plain copy
Intent intent=new Intent();
intent.setClass(MainActivity.this,MyActivity.class);
this.startActivity(intent);
当然这样的几行代码并不能实现从MainActivity的界面到MyActivity界面的跳转,
我们还要做的工作是要在AndroidManifest.xml中注册一个MyAcitivity以获得权限
[java] view
plain copy
<activity
android:name="com.example.helloworld.MyActivity"
android:label="@string/app_name" >
</activity>
下面是我自己写的学习步骤
[java] view
plain copy
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界面的跳转传递一个整数值和一个字符串的代码:
[java] view
plain copy
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()来进行数据的传递
[java] view
plain copy
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游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
- Android开发 两个Activity之间通过Intent跳转传值
- Android Intent实现Activity之间跳转并传值
- 按Android平板(或手机)的物理按键(如音量键)实现Activity界面的跳转
- Android Intent实现Activity之间跳转并传值
- 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
- Android显示提示信息,实现两个界面之间的跳转
- Android 创建一个activity 及创建Intent对象跳转界面并传值
- 【从头学android】在两个Activity之间实现界面切换
- android中如何实现进入一个界面不做任何动作过10秒钟自动跳转到其他activity?
- 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
- Android实现intent跳转界面传递数据(2)——onActivityResult方法接收返回值
- android中利用代理模式简单实现界面之间的跳转与传值
- 【Android游戏开发之五】游戏注册界面Demo-实现两个Activity之间的切换与数据交互!
- Android 两个Activity之间相互跳转传值 并且关闭之前的Activity
- Android菜鸟笔记-WifiPickerActivity 实现跳转到系统自带wifi连接界面
- Android中实现activity的页面跳转并传值
- android Intent实现Activity之间跳转并传值
- Android 实现界面(Activity)的跳转