建立两个Activity,一个是NormalActivity,另一个是DialogActivity。首先建立这两个Activity的布局文件,如下图:

然后编写这连个Activity,如下:

接着对这两个个活动进行注册,但是从上面看来,这两个活动都是普通的活动,怎么将DialogActivity设置为对话框模式呢?在注册时候将DialogActivity的主题设置为对话框模式就可以了,如下:

然后修改MainActivity,如下:

MainActivity的布局文件如下:

活动的回收问题

当一个活动进入到停止状态之后,是有可能被系统回收的,那么加入有一个活动A,用户在A的基础上又启动了B,活动A就进入了停止状态,这个时候由于系统内存不足,将活动A回收掉了,然后用户按下了Back键回到了活动A,也还是会正常显示活动A的,只不过这时候并不执行onRestart()方法,而是会执行活动A的onCreate()方法,因为活动A在这种情况下会被重新创建一遍。但是如果在活动A中有一个文本输入框,已经输入了一些内容,再次创建的时候,之前输入的内容会全部丢失,那么这将严重影响用户体验。

查阅文档可知,Activity中还提供了一个onSaveInstanceState()的回调方法,这个方法会保证一定在活动被回收之前调用,可以使用这个方法来解决活动被回收时临时数据得不到保存的问题。

那么在onCreate()方法中可以这样写:

Bundle保存数据的方式跟Intent保存数据的形式相似。Intent还可以结合Bundle一起用于传递数据,首先将需要传递的数据保存在Bundle对象中,然后将Bundle对象放在Intent中,到了目标活动之后先从Intent中取出Bundle,再从Bundle中取出数据。

活动组件(五):一个activity的例子的更多相关文章

  1. 入职小白随笔之Android四大组件——活动详解(activity)

    推荐Android入门书籍:第一行代码(郭霖) google官方文档地址:https://developer.android.google.cn/guide/components/activities ...

  2. Android组件系列----当前Activity跳转到另一个Activity的详细过程

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

  3. Django组件(五) Django之ContentType组件

    基础使用 -contenttype组件 -django提供的一个快速连表操作的组件,可以追踪项目中所有的APP和model的对应关系,并记录在ContentType表中. 当我们的项目做数据迁移后,会 ...

  4. 活动组件(三):Intent

    大多数的安卓应用都不止一个Activity,而是有多个Activity.但是点击应用图标的时候,只会进入应用的主活动. 因此,前面我已经建立了一个主活动了,名字是myActivity,现在我再建立一个 ...

  5. Android-管理Activity生命周期 -暂停和恢复一个Activity

    在正常的使用app时,前台的activity有时候会被可见的组件阻塞导致activity暂停.比如,当打开一个半透明的activity(就像打开了一个对话框),之前的activity就会暂停.只要ac ...

  6. 【Android Developers Training】 4. 启动另一个Activity

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  7. 【Android Developers Training】 17. 停止和重启一个Activity

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  8. 【Android Developers Training】 16. 暂停和恢复一个Activity

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  9. 详解Android中的四大组件之一:Activity详解

    activity的生命周期 activity的四种状态 running:正在运行,处于活动状态,用户可以点击屏幕,是将activity处于栈顶的状态. paused:暂停,处于失去焦点的时候,处于pa ...

随机推荐

  1. 1011 最大公约数GCD

    1011 最大公约数GCD 基准时间限制:1 秒 空间限制:131072 KB 输入2个正整数A,B,求A与B的最大公约数. Input 2个数A,B,中间用空格隔开.(1<= A,B < ...

  2. 从while(cin>>a)开始探讨cin

    1. 首先cin>>a返回的是左操作数,也就是返回cin. cin的条件状态中: cin.eof()    判断流是否到达文件的结束符 cin.fail()    判断IO操作是否失败 在 ...

  3. The Beginner’s Guide to iptables, the Linux Firewall

    Iptables is an extremely flexible firewall utility built for Linux operating systems. Whether you’re ...

  4. Ubuntu-1404 GDB 调试C++报错

    问题 Ubuntu1404下,当用GDB调试C++程序时,报错ImportError: No module named 'libstdcxx' 解决办法 vim ~/.gdbinit #~/.gdbi ...

  5. LightOj 1098 - A New Function(求1-n所有数的因子和)

    题目链接:http://lightoj.com/volume_showproblem.php?problem=1098 题意:给你一个数n (0 ≤ n ≤ 2 * 109),求n以内所有数的因子和, ...

  6. Fiddler-008-简单模拟性能测试

    通过 Fiddler 可以简单的模拟性能测试的并发测试,此方法非常的简单,直接讲述如何使用,敬请参阅! 首先我们要获取需要并发的 HTTP请求,此操作非常简单,则在此不再赘述.获取到响应的 HTTP请 ...

  7. ie下的onscroll和onresize的优化

    ie下的scroll和resize的优化 1.onscroll function scrollEvent(){ //do something... console.log('do something. ...

  8. SpringMVC @ResponseBody的使用

    原文链接:http://www.jianshu.com/p/7097fea8ce3f@ResponseBody用法作用:该注解用于将Controller的方法返回的对象,根据HTTP Request ...

  9. saltstack之(十一)扩展组件salt-returners

    场景:每次执行salt任务后,将返回结果存入到数据库,可以做任务跟踪以及历史查看. 1.在node1上安装mysql数据库并启动设置root密码.[root@node1 ~]# yum -y inst ...

  10. MySQL学习笔记——复制的实现原理

    1.三个线程 MYSQL复制是从主服务器复制到一个或多个从服务器的异步过程,在主服务器与从服务器之间实现整个复制过程主要由三个线程来实现,其中一个线程I\O在主服务器器端,另两个线程(SQL线程和I\ ...