小编tom*_*wyr的帖子

Android ViewModel在屏幕旋转时重新创建

我发现了一个不保留架构组件ViewModel的情况 - 简而言之,如下所示:

  1. 活动已启动,并且已创建ViewModel实例
  2. 活动是背景
  3. 设备屏幕旋转
  4. 活动被放回到前台
  5. ViewModel调用ViewModel的方法并创建新对象

在这种情况下,我的ViewModel实例正在被销毁,这是Android的正常行为吗?如果是这样,是否有任何建议的解决方案来保持其状态?
我可以想到的一种方法ViewModel是在调用时保存它,但是,只要活动实际完成,它也会保持状态.另一种方法可能是利用onCleared它,但它在每个屏幕旋转时触发(不仅如果应用程序在后台).
处理这种情况的银弹?

android android-viewmodel android-architecture-components

6
推荐指数
1
解决办法
5308
查看次数

处理父小部件中的点击事件

在我的应用程序树中,我有两个小部件:

GestureDetector(
   onTap: () => print('Outer'),
   child: IconButton(
     icon: Icon(Icons.add),
     onPressed: () => print('Inner')),
   ),
)
Run Code Online (Sandbox Code Playgroud)

他们都试图对触摸事件做出反应,但只有孩子的回调被调用(这是默认行为)。是否可以以阻止祖先将触摸事件传播给其子级的方式定义小部件?或者也许唯一的方法是自己实现这种行为,例如通过使用GestureArena?

flutter

4
推荐指数
1
解决办法
2812
查看次数