2011-08-31 89 views
0

我真的很陌生,我創建了一個應用程序,它具有按鈕,導致其他活動的數據被選擇返回到主要活動的意圖與額外。使用完成的好習慣()

當我完成數據收集活動時,我會調用finish()方法返回到我的主要活動。

用戶可能希望重新訪問信息收集活動以輸入新數據,但是如果先前輸入的數據在返回到活動時不在那裏,則無關緊要。

在編寫應用程序時,這被認爲是好的或不好的做法?

感謝, 中號

回答

0

取決於你的應用。

如果您的應用程序需要像選項活動或日期這樣的數據輸入活動,您必須「保存」您活動的更改。 這裏有一個簡單的形式,這樣做與Overryde方法:

/** 
* Method onSaveInstanceState. 
* @param outState Bundle 
*/ 
@Override 
protected void onSaveInstanceState(Bundle outState) { 
    outState.putBoolean("ISCALLSMS", isOnCallingSms); 
    super.onSaveInstanceState(outState); 
} 


/** 
* Method onRestoreInstanceState. 
* @param savedInstanceState Bundle 
*/ 
@Override 
protected void onRestoreInstanceState(Bundle savedInstanceState) { 
    if ((savedInstanceState != null) && (savedInstanceState.containsKey("ISCALLSMS"))){ 
     isOnCallingSms = savedInstanceState.getBoolean("ISCALLSMS"); 
    } 
    super.onRestoreInstanceState(savedInstanceState); 
}  

*這是我的應用程序的一個例子。 Yoy應該決定你需要保存哪些數據。還有其他方法來保存您的數據,這只是其中的一種。

在其他情況下,如果您的應用程序不需要保存數據,那麼確定您是如何完成活動的