我成功地实现了onRetainNonConfigurationInstance()为我的主要Activity若要保存和还原屏幕方向更改中的某些关键组件,请执行以下操作。但是,当方向改变时,我的自定义视图似乎是从头开始重新创建的。这是有意义的,尽管在我的例子中,这是不方便的,因为所讨论的自定义视图是X/Y图,所绘制的点存储在自定义视图中。是否有一种狡猾的方法来实现类似于onRetainNonConfigurationInstance()对于自定义视图,还是只需要在自定义视图中实现允许获取和设置其“状态”的方法?如何防止自定义视图在屏幕方向更改中丢失状态
3 回答
HUX布斯
TA贡献1876条经验 获得超6个赞
Bundle
Parcelable
public class CustomView extends View{ private int stuff; // stuff @Override public Parcelable onSaveInstanceState() { Bundle bundle = new Bundle(); bundle.putParcelable("superState", super.onSaveInstanceState()); bundle.putInt("stuff", this.stuff); // ... save stuff return bundle; } @Override public void onRestoreInstanceState(Parcelable state) { if (state instanceof Bundle) // implicit null check { Bundle bundle = (Bundle) state; this.stuff = bundle.getInt("stuff"); // ... load stuff state = bundle.getParcelable("superState"); } super.onRestoreInstanceState(state); }}
- 3 回答
- 0 关注
- 345 浏览
添加回答
举报
0/150
提交
取消