Activity的直接子类

  • AccountAuthenticatorActivity,
  • AliasActivity
  • ExpandableListActivity
  • FragmentActivity
  • ListActivity
  • NativeActivity

间接子类:

  • LauncherActivity

  • PreferenceActivity

  • TabActivity

    1. AccountAuthenticatorActivity 类在后面中介绍.
AliasActivity:
  • 定位:存根Activity,用这个Activity来加载其他的Activity,它的子类必须实现onCreate()方法。可以在onCreate()方法中调用finish()方法,这时Activity跳过生命周期直接调用onDestroy()方法。

使用这个类的方法在API原文中的介绍是:To use this activity, you should include in the manifest for the associated component an entry named "android.app.alias". It is a reference to an XML resource describing an intent that launches the real application.

  • AliasActivity在AndroidManifest.xml文件中用activity-alias标签声明,她可以有自己的intent-filter,meta-date子标签,activity-alias具体属性有:
属性 含义 fdf
android:targetActivity 目标Activity 这个属性的值必须是声明在activity-alias标签前的Activity的android:name
android:name alias的唯一标识
android:enabled 是否运行aliasActivity加载targetActivity 缺省为true
android:exported 是否运行其他的Application通过使用aliasActivity来加载targetActivity

在AliasActivity类中的onCreate(Bundle)方法中有这样的代码(其余细节请查看AliasActivity源码):

Java代码

	Intent intent = parseAlias(parser);
if (intent == null) {
throw new RuntimeException(
"No <intent> tag found in alias description");
}
startActivity(intent);
finish();
ExpendableListActivity:

展示一个可以展开的list,其中的item通过ExpandableListAdapter接口来绑定数据源。当用户选择其中某一项时可以自己定义处理方法。ExpendableListActivity 含有一个ExpandableView对象,用两层的方法来展示数据,第一层是组,下面那一层是它的孩子。使用自己定义的xml来定制布局,则ExpandableListView一定要用"@id/android:list"作为id,另外使用一个id"@id/android:empty"来表示空的list。

ExpandableListAdapter通过ExpendableListActivity 中的setListAdapter(ExpandableListAdapter)方法来设置view中的每一行数据,这个Adapter为组和孩子都分别有方法。比较简单的方法是通过SimpleCursorTreeAdapter和SimpleExpandableListAdapter来作为绑定数据的适配器,SimpleCursorTreeAdapter通过Cursor来抓取数据,而SimpleExpandableListAdapter则通过List中的Map来获取数据。Android在R.layout类中提供了一下标准的行布局比如ssimple_list_item_1, simple_list_item_2, 和two_line_list_item。。我感觉最重要的是布局和SimpleExpandableListAdapter的子类实现最为重要。

ListActivity和ExpendableListActivity 大同小易不做介绍
PreferenceActivity 是ListActivity的子类,用于设置首选项的Activity,和android.preference配合使用,有空学习整个包的时候再看。
TabActivity 被废弃使用,可以使用FragmentActivity来代替
ActivityGroup 被废弃使用,可以使用Fragment 和 FragmentManager 来代替
LauncherActivity ListActivity的子类,抽象类,用来陈列所有在给定intent下能使用的Activity,当点击时加载Activity
NativeActivity 没有必要继承这个类,只需要在AndroidManifest.xml声明就可以用来展示C++程序了。
FragmentActivity 用来支持Fragment和 Loader 等API的基类,在android.support.v4包下顶

最新文章

  1. 安装Axure7.0,完整教程,有验证码和汉化包
  2. smb:unrecognized service
  3. eclipse PermGen space解决方案
  4. 第一天接触Orchard
  5. bzoj3756: Pty的字符串
  6. angular run()运行块
  7. python __del__
  8. cocos2dx 3.x(获取当前系统时间)
  9. CenOS7.1安装VNC——让win7远程桌面linux
  10. emplace_back与push_back的区别
  11. Apache中 RewriteRule 规则参数介绍
  12. ZOJ2006 一道很尴尬的string操作题
  13. 【spotlight安装监控】
  14. log4j.properties配置与将异常输出到Log日志文件实例
  15. autium designer 软件使用:
  16. Android UI(四)云通讯录项目之云端更新进度条实现
  17. 【模板】cdq分治代替树状数组(单点修改,区间查询)
  18. Leetcode 28.实现strStr() By Python
  19. OWASP_ZAP集成渗透测试和漏洞工具
  20. 在scrapy中使用mongodb管道

热门文章

  1. Zookeeper 笔记-角色
  2. 使用Aspose.Cells利用模板导出Excel(C#)
  3. 笔记-java泛型详解
  4. 微信小程序之页面下拉刷新
  5. hive 创建表和导入数据实例
  6. Strange fuction
  7. jQuery插件实现瀑布留布局masonry + infinitescroll 图片高度处理
  8. NoSQL:redis缓存数据库
  9. selenium页面元素操作(简易版)
  10. 使用git命令将本地项目上传到Gitlab上