1.Ability继承自BaseAbility,在BaseAbility中维护Ability当前展示的AbilitySlice实例:
public class BaseAbility extends Ability {
private AbilitySlice slice;
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setMainRoute(BaseAbilitySlice.class.getName());
}
private void setCurrentSlice(AbilitySlice slice) {
this.slice = slice;
}
private AbilitySlice getCurrentSlice() {
return slice;
}
}
2.AbilitySlice中,将自身传递给Ability:
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_news_detail_layout);
if (getAbility() instanceof BaseAbility) {
BaseAbility ability = (BaseAbility)getAbility();
ability.setCurrentSlice(this);
}
}
本文探讨了Ability类如何通过BaseAbility进行继承,并详细解释了AbilitySlice如何在启动时将自己的实例传递给BaseAbility,以实现能力模块的切换。

8452

被折叠的 条评论
为什么被折叠?



