Android页面的跳转方式

来源:互联网 发布:unity3d 联机游戏 编辑:程序博客网 时间:2024/05/22 16:42

Android页面跳转有2种方式:显式跳转和隐式跳转

显示跳转:直接在Intent中指明需要跳转的组件。例如如果需要从MainActivty跳转至SecondActivity:

Intent intent =     new Intent(MainActivity.this,SecondActivity.class);startActivity(intent);

或者

Intent intent = new Intent();           intent.setClass(MainActivity.this,SecondActivity.class);startActivity(intent);

隐式跳转:给Intent设置action和category,系统自动匹配跳转至配置有相同action和category的组件。

例如:在MainActivity的点击事件中给Intent设置action:testskippage.intent.action.skip
catogory:testskippage.intent.category.skip

Intent intent = new Intent();                intent.setAction("testskippage.intent.action.skip");                intent.addCategory("testskippage.intent.category.skip");startActivity(intent);

对应AndroidManifest.xml文件如下
这里写图片描述

此时点击MainActivity中的按钮就能跳转至SecondActivity页面。

**这里需要注意的是:
1.在AndroidManifest.xml文件中如果SecondActivity没有配置<category android:name="android.intent.category.DEFAULT"/> 则点击按钮跳转会出ActivityNotFoundException的异常。我的理解是在点击事件处虽然我们只设置了一个category的类型,但是系统会默认替我们加上android.intent.category.DEFAULT,所以在清单文件中需要把两个category都配置上;
2.如果在代码中同时为intent设置了2个action,如intent.setAction("testskippage.intent.action.skip");
intent.setAction("testskippage.intent.action.switch");
那么前面设置的action会被后面的action覆盖,即在AndroidManifest.xml中只需要配置”<action android:name="testskippage.intent.action.switch"/>“即可】**

在组件跳转的时候可以携带参数,使用Bundle或者Data都可以,这里不多说啦~~~。

原创粉丝点击