2012-06-04 116 views
2

我正在開發一個Android應用程序,其中一個頁面上有一個imageView,onLongClick它從圖像A更改爲圖像B.但是,當它們離開頁面時,imageView會返回圖像A.如何保存狀態(即時猜測它在onpause,stop和destroy上完成),以便它保存ImageView的當前圖像src,並在下一次訪問和創建頁面時加載它。我從來沒有在Android中完成數據保存..在動態更改src後保存Android圖像狀態

任何簡單的數據保存教程/示例將不勝感激。

回答

4

沿着這些線路的東西應該幫助你:

// Use a static tag so you're never debugging typos 
private static final String IMAGE_RESOURCE = "image-resource"; 
private int image; 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    // if there's no bundle, this is the first time; use default resource 
    if (savedInstanceState == null) { 
     image = R.drawable.default; 
    } else { 
     // if there is a bundle, use the saved image resource (if one is there) 
     image = savedInstanceState.getInt(IMAGE_RESOURCE, R.drawable.default); 
    } 
} 

@Override 
public void onSaveInstanceState(Bundle outState) { 
    // Make sure you save the current image resource 
    outState.putInt(IMAGE_RESOURCE, image); 
    super.onSaveInstanceState(outState); 
} 

確保您設置圖像變量,以適當的資源在你改變它在點擊監聽同一時間。

如果您想記住的時間比此更長,請查看SharedPreferences

+0

嗨Krylez,如果應用程序完全關閉或者他們擊中後退按鈕的活動。這仍會檢索數據嗎?我的意思是,當然如果我把電話onDestroy/onStop等或保存instinstancestate丟失應用程序關閉時的數據 – karlstackoverflow

+0

關閉應用程序時,該包會丟失。它只存在於內存中,所以當Android OS關閉你的應用程序時,它永遠消失了。即使您的應用程序關閉,SharedPreferences也會繼續存在。 – Krylez

+0

謝謝。我想我需要使用SharedPreferences。 – karlstackoverflow