【发布时间】:2013-05-11 14:48:29
【问题描述】:
我有一个图像视图,其图像由用户选择和更改,我需要保存它的实例状态,以便在屏幕方向更改或切换到不同的活动等时显示当前图像。我一直在寻找虽然但无法弄清楚我需要使用哪些方法从我需要传递到 onSaveInstanceState 包的图像视图中提取信息。有人可以指出我正确的方向吗?
【问题讨论】:
标签: android imageview instance
我有一个图像视图,其图像由用户选择和更改,我需要保存它的实例状态,以便在屏幕方向更改或切换到不同的活动等时显示当前图像。我一直在寻找虽然但无法弄清楚我需要使用哪些方法从我需要传递到 onSaveInstanceState 包的图像视图中提取信息。有人可以指出我正确的方向吗?
【问题讨论】:
标签: android imageview instance
没有什么可以“用来从图像视图中提取信息”。您需要通过其他方式知道ImageView 中图像的来源,并选择将其保存在您的实例状态中。
例如,更新ImageView 的代码可以将图像源数据存储在托管ImageView 的片段或活动的数据成员中。
【讨论】:
Bundle 中应该可以正常工作。
这对我有用:
我首先将位图的状态存储在 onSavedInstanceState 中:
@Override
public void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putParcelable(BITMAP, bitmap);
}
然后,我在 onRestoreInstanceState 中检索并加载它:
@Override
public void onRestoreInstanceState(Bundle savedInstanceState)
{
super.onRestoreInstanceState(savedInstanceState);
if(savedInstanceState != null)
{
bitmap = (Bitmap) savedInstanceState.getParcelable(BITMAP);
loadImg.setImageBitmap(bitmap);
}
}
【讨论】: