pub struct ActivityManager<H: ActivityHost> { /* private fields */ }Expand description
页面堆栈与路由调度器。
负责管理 Activity 的入栈、出栈,协调生命周期方法的调用,并聚合页面切换产生的异步任务。
Implementations§
Source§impl<H: ActivityHost> ActivityManager<H>
impl<H: ActivityHost> ActivityManager<H>
Sourcepub fn new<F>(factory: F) -> Self
pub fn new<F>(factory: F) -> Self
创建一个新的 ActivityManager。
factory 是一个闭包,负责根据路由枚举实例化对应的 Activity。
Sourcepub fn update(
&mut self,
context: &mut H::Context,
message: H::Message,
) -> H::Task
pub fn update( &mut self, context: &mut H::Context, message: H::Message, ) -> H::Task
将消息分发给当前处于栈顶的活动页面。
Sourcepub fn start_activity(
&mut self,
context: &mut H::Context,
route: H::Route,
) -> H::Task
pub fn start_activity( &mut self, context: &mut H::Context, route: H::Route, ) -> H::Task
启动一个新页面,处理路由逻辑及堆栈变化,并返回相关的异步任务。
Sourcepub fn back(&mut self, context: &mut H::Context) -> (bool, H::Task)
pub fn back(&mut self, context: &mut H::Context) -> (bool, H::Task)
模拟物理返回键逻辑,弹出栈顶页面。
返回一个元组:
bool: 如果成功返回上一页则为true;如果栈已空或仅剩一页无法返回则为false。H::Task: 退出动作产生的异步任务。
Auto Trait Implementations§
impl<H> Freeze for ActivityManager<H>
impl<H> !RefUnwindSafe for ActivityManager<H>
impl<H> !Send for ActivityManager<H>
impl<H> !Sync for ActivityManager<H>
impl<H> Unpin for ActivityManager<H>
impl<H> UnsafeUnpin for ActivityManager<H>
impl<H> !UnwindSafe for ActivityManager<H>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more