T_C*_*T_C 2 android android-fragments android-activity
在我看到的很多例子中,所有活动和片段都从基本活动和基础片段扩展而来.2个问题:
Ash*_*lak 11
通常我需要在我的所有Activity/Fragments的一些生命周期回调中做一些工作时使用基本Activity/Fragment.
例如,如果你使用Butter Knife(非常推荐),你需要在打电话Butterknife.bind(Activity a)后打电话setContentView.所以如果你创建一个基本活动并setContentView在其中扩展方法会更好:
@Override
public void setContentView(int layoutResID) {
super.setContentView(layoutResID);
ButterKnife.bind(this);
}
Run Code Online (Sandbox Code Playgroud)
在(呼叫之后)setContentView开始时呼叫的子活动中,将自动onCreate呼叫.super.onCreateButterKnife.bind
另一个用例是当你想要实现一些辅助方法时.例如,如果您startActivity在活动中多次呼叫,这将是一个真正的头痛:
startActivity(new Intent(this, NextActivity.class));
Run Code Online (Sandbox Code Playgroud)
您可以start向基本活动添加方法,如下所示:
protected void start(Class<? extends BaseActivity> activity) {
startActivity(new Intent(this, activity));
}
Run Code Online (Sandbox Code Playgroud)
并开始下一个活动,如:
start(NextActivity.class);
Run Code Online (Sandbox Code Playgroud)
其他活动可以扩展 BaseActivity。如果你在 BaseActivities 中定义了公共元素,而所有其他活动都扩展了 BaseActivities,那么所有的 Activity 都会有这些公共元素,例如:自定义菜单、自定义栏、设计布局或一些查询逻辑...等。
与 BaseFragment 类似。我通常在 BaseFragment 中登录 onCreate、onAtach、onPause 事件。所以我在所有其他扩展 BaseFragment 的 Fragment 中看到了这些日志。此外,您可以非常轻松地在一类中关闭所有片段的这些日志。(在发布实现之前有用)
| 归档时间: |
|
| 查看次数: |
5376 次 |
| 最近记录: |