首页 > 编程知识 正文

安卓activity启动方法,android创建新的activity

时间:2023-05-06 18:36:11 阅读:157192 作者:1624

本文中的示例介绍了Android Activity启动模式的singleTop。 共享仅供参考。 具体情况如下。

上一篇文章《Android Activity启动模式之standard实例详解》介绍了活动的默认启动模式standard。 本文继续介绍Activity的singleTop模式。

singleTop模式:如果Activity的活动模式设置为singleTop,则在启动活动时首先检查堆栈活动是否处于活动状态,如果处于活动状态,则使用当前实例

(1)修改AndroidManifest.xml

修改此配置文件,将主活动的启动模式设置为singleTop,如下所示:

Android : name='.main activity '

Android:级别='@string/app_name '

Android : launch mode=' singletop '

将活动的launchMode设置为singleTop。

)2)发布程序并查看日志

无论单击多少次按钮,都不会打印新日志。 这是因为,如果发现当前堆栈顶部的活动是主活动,启动模式是singleTop,并且堆栈顶部是该活动,则使用当前实例,而不会创建新实例因为MainActivity只有一个实例,所以只需按一次Back键就可以结束当前活动。

如果现在的堆栈顶部活动部是主活动的话? 结果会是什么? 做以下实验。

(1)创建新事件MyActivity1

布局文件如下所示。

安卓: layout _ width=' fill _ parent '

Android : layout _ height=' fill _ parent '

安卓: orientation=' vertical '

android:id='@ id/myButton1'

安卓: layout _ width=' match _ parent '

安卓: layout _ height=' wrap _ content '

Android : text=' my activity1button ' /

在AndroidManifest.xml文件中注册当前活动(可选)。

)2)修改MainActivity.java的onCreate方法

@Override

保护性视频创建(bundlesavedinstancestate )。

super.oncreate (savedinstancestate;

//打印当前对象

log.d('mainactivity ',this.toString ) );

拆下title

requestwindowfeature (window.feature _ no _ title;

setcontentview (r.layout.activity _ main;

取得button1

buttonbutton1=(button ) findviewbyid(r.id.button1);

//添加单击事件

button1. setonclicklistener (newonclicklistener ) )。

@Override

公共void onclick (view view ) {

单击按钮可启动MyActivity1活动,以测试singleTop启动模式

intent intent=new intent (main activity.this,MyActivity1.class );

//开始活动

开始活动(intent;

}

);

}

也就是说,单击按钮可以跳转到MyActivity1事件

)3)修改MyActivity1的onCreate方法

@Override

保护性视频创建(bundlesavedinstancestate )。

super.oncreate (savedinstancestate;

//打印当前对象

log.d('myactivity1',this.toString ) );

requestwindowfeature (window.feature _ no _ title;

setcontentview (r.layout.activity1_ my;

//获取按钮

ButtonmyButton=(Button ) findviewbyid(r.id.myButton1);

//点击事件

my button.setonclicklistener (newonclicklistener ) )。

@Override

公共void onclick (view arg0) {

开始主活动事件

intent intent=new intent (my activity1. this,MainActivity.class );

开始活动(intent;

}

);

}

也就是说,单击按钮可以跳转到主事件MainActivity。

)4)发布程序并查看日志

在主活动MainActivity中,单击按钮进入MyActivity1,然后单击按钮再次进入MainActivity。 日志应显示如下:

第一个日志首次进入主活动打印,单击按钮进入MyActivity1,打印第二个日志。 单击MyActivity1按钮时,堆栈顶部的活动将变为MyActivity1,因此单击该按钮将创建新的MainActivity实例。

在这种情况下,单击“Back”以转至MyActivity1,然后再次单击以转至MainActivity,再单击以退出程序。

对Android Activity相关内容感兴趣的读者请参阅本网站的专题文章“《Android编程之activity操作技巧总结》”

希望本文对大家的Android编程有帮助。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。