Fragment的生命周期方法中带有透明背景的Android Save / Restore图标

时间:2016-01-14 21:41:31

标签: java android android-fragments bitmap facebook-android-sdk

我遇到了问题,我不知道如何解决它。 我有一个带有列表视图的Android应用程序。每个列表项都有文本和图标(图标从网络加载)。我想在我的Android应用程序中实现onSaveInstanceState / onRestoreInstanceState。并且这个方法的主要目的是当片段返回堆栈并且在片段恢复后恢复时,加载的图标必须保存在Bundle中。列表项的每个图标都具有透明背景。当我恢复图标时,它具有黑色背景而不是必须透明。 我已经有了保存/恢复位图的代码,但我无法使用透明背景恢复位图。

保存图标的代码:

ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] iconInByte = stream.toByteArray();
outState.putByteArray("icon" + String.valueOf(i), iconInByte);

要恢复的代码图标:

byte[] icon = savedInstanceState.getByteArray("icon" + String.valueOf(i));
Bitmap bitmap = BitmapFactory.decodeByteArray(icon, 0, icon.length);

恢复之前和之后的屏幕很少:

恢复前: enter image description here

恢复后: enter image description here

有任何想法可以解决这个问题吗?

0 个答案:

没有答案