2011-08-30 104 views

回答

8

阻止任何View保持其状态的最简单方法是不将id分配给此视图(即否android:id="...")。


如果没有足够的,你仍然需要引用视图,您可以用下一招。覆盖ViewonSaveInstanceState()并以下列方式onRestoreInstanceState()

@Override 
public Parcelable onSaveInstanceState() 
{ 
    super.onSaveInstanceState(); 
    return null; 
} 

@Override 
public void onRestoreInstanceState(Parcelable state) 
{ 
    super.onRestoreInstanceState(null); 
} 
+0

这2个功能是公开的,不受保护。我已经尝试覆盖onRestoreInstanceState之前。它崩溃,logcat说这是因为我没有调用超级函数。无论如何,我应该在onSaveInstance状态返回什么? –

+0

我已经从文档中复制函数原型,并且它们在那里受到保护。但你说得对,他们是公开的。我也更新了答案,现在我测试了它,它应该可以工作。对不起,第一次误导。 – inazaruk

+0

谢谢你,重写这些函数的确有窍门。 –