2
如何禁用从扩展特定窗口小部件的类中保存窗口小部件的状态?我需要它的行为就像它是新创建的。Android防止保存状态
如何禁用从扩展特定窗口小部件的类中保存窗口小部件的状态?我需要它的行为就像它是新创建的。Android防止保存状态
阻止任何View
保持其状态的最简单方法是不将id分配给此视图(即否android:id="..."
)。
如果没有足够的,你仍然需要引用视图,您可以用下一招。覆盖View
的onSaveInstanceState()
并以下列方式onRestoreInstanceState()
:
@Override
public Parcelable onSaveInstanceState()
{
super.onSaveInstanceState();
return null;
}
@Override
public void onRestoreInstanceState(Parcelable state)
{
super.onRestoreInstanceState(null);
}
这2个功能是公开的,不受保护。我已经尝试覆盖onRestoreInstanceState之前。它崩溃,logcat说这是因为我没有调用超级函数。无论如何,我应该在onSaveInstance状态返回什么? –
我已经从文档中复制函数原型,并且它们在那里受到保护。但你说得对,他们是公开的。我也更新了答案,现在我测试了它,它应该可以工作。对不起,第一次误导。 – inazaruk
谢谢你,重写这些函数的确有窍门。 –