开发中常用的BaseActivity基类
来源:互联网 发布:免费域名注册永久 编辑:程序博客网 时间:2024/06/04 19:10
import android.content.Intent;import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import com.gaoyuan4122.appmarket.utils.UIUtil;import java.util.LinkedList;import java.util.List;/** * 所有 Activity 的父类, 统一的初始化页面的方法, 获取当前前台 Activity 的方法. * 原先的代码是继承 ActionBarActivity, 后此类过时, 所以改为 AppCompatActivity, 效果一样 */public class BaseActivity extends AppCompatActivity { /** * 记录前台 Activity */ public static BaseActivity sForegroundActivity; /** * 记录所有没有销毁的 Activity */ public LinkedList<BaseActivity> mActivities = new LinkedList<BaseActivity>(); /** * 获取前台 Activity */ public static BaseActivity getForegroundActivity() { return sForegroundActivity; } /** * 启动一个 Activity * * @param intent */ public static void startAnActivity(Intent intent) { if (sForegroundActivity != null) { sForegroundActivity.startActivity(intent); } else { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); UIUtil.getAppContext().startActivity(intent); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initView(); initActionBar(); mActivities.add(this); } /** * 填充布局, 需要子类调用 setContentView, 做控件的初始化和设置事件 */ protected void initView() { } /** * 设置 ActionBar, 需要子类重写 */ protected void initActionBar() { } @Override protected void onResume() { sForegroundActivity = this; super.onResume(); } @Override protected void onPause() { if (sForegroundActivity == this) { sForegroundActivity = null; } super.onPause(); } @Override protected void onDestroy() { mActivities.remove(this); super.onDestroy(); } /** * 结束所有没有销毁的 Activity, 结束当前进程 */ public void killAll() { // 复制了一份mActivities 集合 List<BaseActivity> copy; synchronized (mActivities) { copy = new LinkedList<BaseActivity>(mActivities); } for (BaseActivity activity : copy) { // 结束当前 Activity, 也可以使用广播 activity.finish(); } // 杀死当前的进程 android.os.Process.killProcess(android.os.Process.myPid()); }}
0 0
- 开发中常用的BaseActivity基类
- 我常用的BaseActivity
- Android中BaseActivity的用法
- Android中BaseActivity的使用
- android开发中设置基础类BaseActivity
- Android 基类BaseActivity的封装
- Android 基类BaseActivity的封装
- 安卓开发中Activity抽象基类BaseActivity的编写
- BaseActivity中封装通用的Toolbar
- BaseActivity中标题栏TitleBar的封装
- BaseActivity中封装通用的Toolbar
- 基类BaseActivity
- 基类-BaseActivity
- 直接拿来用,BaseActivity的常用功能的抽取
- Android开发,实用的BaseActivity的创建及使用
- APP开发实战65-应用级别的BaseActivity设计
- APP开发实战66-功能级别的BaseActivity设计
- Android 项目开发必备-BaseActivity与Fragment的建立
- HDOJ(HDU) 1862 EXCEL排序(类对象的快排)
- 装饰大楼 NOIP2015模拟11.3
- 如何查看端口被占用
- 一个Sqrt函数引发的血案
- LeetCode[Design]----Peeking Iterator
- 开发中常用的BaseActivity基类
- poj 2084 Game of Connections (卡特兰数,大数乘除)
- 浅谈Web安全-SQL注入
- 保存文件
- start.S解析8
- bzoj 1597: [Usaco2008 Mar]土地购买(斜率优化dp 例题)
- N的阶乘
- uva536-Tree Recovery-二叉树遍历
- C++关联容器