- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个名为 RouteAutofillControl
的自定义 View (组)类,它基本上是一个 EditText
,其中填充了从我当前位置解析的地址。 AsyncTask
在 View 构造函数中启动,完成后我在成员变量中记得任务已完成。
我还在配置更改时实现了状态保存,并且它有效。
我的问题是,在调用 View 构造函数时 taskCompleted
成员变量尚未保留,因此 AsyncTask 再次启动。
所以我在 View 生命周期中寻找一种在 onRestoreInstanceState
之后调用的方法。
以下是 View 中的重要部分:
public class RouteAutofillControl extends LinearLayout {
private boolean taskCompleted;
public RouteAutofillControl(Context context, AttributeSet attrs, int defStyle) {
if(!taskCompleted) {
new FillRouteTask(location).execute();
}
}
@Override
public Parcelable onSaveInstanceState() {
final Parcelable superState = super.onSaveInstanceState();
SavedState savedState = new SavedState(superState);
savedState.taskCompleted = taskCompleted;
savedState.resolvedAddress = resolvedAddress;
return savedState;
}
@Override
public void onRestoreInstanceState(Parcelable state) {
Log.d(TAG, "onRestoreInstanceState");
SavedState savedState = (SavedState) state;
super.onRestoreInstanceState(savedState.getSuperState());
taskCompleted = savedState.taskCompleted;
resolvedAddress = savedState.resolvedAddress;
}
}
我没有找到任何关于 View 生命周期方法的信息,我感谢任何帮助或建议让它变得更好,干杯 :)
最佳答案
That不是最近,但我认为这在很大程度上仍然是正确的。
这里要保留的是 onAttachedToWindow 在父进程的 addView 进程之后被调用,这将调用其子进程的 restoreState 方法。
所以在您的情况下,我会将我的任务移至此回调:
@Override
public void onAttachedToWindow() {
if(!taskCompleted) {
new FillRouteTask(location).execute();
}
}
关于android - onRestoreInstanceState - Android View 生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35624011/
我正在开发一个使用多个 turtle 的滚动游戏。玩家 turtle 根据按键命令在 Y 轴上移动。当危害和好处在 X 轴上移动时,然后循环并改变 Y 轴位置。我尝试定义一个名为 colliding(
我不明白为什么他们不接受这个作为解决方案,他们说这是一个错误的答案:- #include int main(void) { int val=0; printf("Input:- \n
我正在使用基于表单的身份验证。 我有一个注销链接,如下所示: 以及对应的注销方法: public String logout() { FacesContext.getCurren
在 IIS7 应用程序池中有一个设置 Idle-time out 默认是 20 分钟,其中说: Amount of time(in minutes) a worker process will rem
我是一名优秀的程序员,十分优秀!