小编Dav*_*ddy的帖子

Android自定义复合视图保存和恢复状态不起作用

解决了...

我有一个包含一些其他控件的复合视图.我想重写保存onSaveInstanceStateonRestoreInstanceState,但我得到一个奇怪的结果.

Parcelable state给的说法onRestoreInstanceState是不是我的自定义子类的BaseSavedState,SavedState并且似乎总是BaseSavedState.EMPTY_STATE.(在下面查找"总是失败"的代码注释...

看起来这个问题很可能出现在保存部分,因为 几乎SavedState.writeToParcel没有被调用之后onSaveInstanceState enters.几乎就好像正在调用的人onSaveInstanceState在将结果持久化之前抛弃结果Parcel.

如果它有所不同,则此视图托管在片段中.

有任何想法吗?

这是我的班级定义:

public class AddressInput extends FrameLayout
Run Code Online (Sandbox Code Playgroud)

这是我的onSaveInstanceStateonRestoreInstanceState一对:

@Override
protected Parcelable onSaveInstanceState()
{
    // Return saved state
    Parcelable superState = super.onSaveInstanceState();
    return new AddressInput.SavedState( superState, mCurrentLookUp );
}

@Override
protected void onRestoreInstanceState( Parcelable state )
{
    // **** (state == BaseSavedState.EMPTY_STATE) is also always …
Run Code Online (Sandbox Code Playgroud)

android state custom-view android-custom-view onrestoreinstancestate

3
推荐指数
1
解决办法
4181
查看次数