首页 > 系统 > Android > 正文

[Android新手学习笔记10]-活动Activity实践之启动、销毁、数据

2019-11-09 16:07:41
字体:
来源:转载
供稿:网友

1.BaseActivity

重写onCreate()方法,添加下面代码,打印当前Activity名称:

@OverridePRotected void onCreate(@Nullable Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    Log.d("BaseActivity", getClass().getSimpleName());}

增加ActivityCollector,管理Activity,代码如下:

public class ActivityCollector {
   public static List<Activity> activities = new ArrayList<>();    public static void addActivity(Activity activity) {        activities.add(activity);    }    public static void removeActivity(Activity activity) {        activities.remove(activity);    }    public static void finishAll() {        for (Activity activity : activities) {            if (!activity.isFinishing()) {                activity.finish();            }        }    }}

修改BaseActivity类,代码如下:

public class BaseActivity extends AppCompatActivity {
   @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        Log.d("BaseActivity", getClass().getSimpleName());        ActivityCollector.addActivity(this);    }    @Override    protected void onDestroy() {        super.onDestroy();        ActivityCollector.removeActivity(this);    }}其他Activity继承BaseActivity。

2.继承BaseActivity,添加actionStart()方法

public class SecondActivity extends BaseActivity {
   public static void actionStart(Context context, String data1, String data2) {        Intent intent = new Intent(context, SecondActivity.class);        intent.putExtra("param1", data1);        intent.putExtra("param2", data2);        context.startActivity(intent);    }}

这样写的好处,启动SecondActivity时,知道需要传递哪些参数,启动代码如下:

SecondActivity.actionStart(FirstActivity.this, "data1", "data2");
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表