Xamarin.Android ListView 和活動生命週期
活動會在您的應用程式執行時經歷特定狀態,例如啟動、執行、暫停和停止。 如需詳細資訊,以及處理狀態轉換的特定指導方針,請參閱 活動生命週期教學課程。
請務必瞭解活動生命週期,並將程序 ListView
代碼放在正確的位置。
本檔中的所有範例都會在 Activity OnCreate
的 方法中執行「設定工作」,並在 中 OnDestroy
執行「終止」。 這些範例通常會使用不會變更的小型數據集,因此不需要更頻繁地重新載入數據。
不過,如果您的資料經常變更或使用大量的記憶體,則可能適合使用不同的生命週期方法來填入和重新整理您的 ListView
。 例如,如果基礎數據持續變更(或可能受到其他活動的更新影響),則在 中建立配接器 OnStart
,或 OnResume
會確保每次顯示活動時都會顯示最新的數據。
如果配接器使用記憶體或Managed數據指標等資源,請記得在互補方法中釋放這些資源至具現化的位置(例如,在 OnStart
中 OnStop
建立的物件可以處置 )。
設定變更
請務必記住,組態變更,特別是螢幕旋轉和鍵盤可見性,可能會導致目前的活動被終結並重新建立(除非您另有指定使用 ConfigurationChanges
屬性)。 這表示在正常情況下,旋轉裝置會導致 ListView
重新建立 和 Adapter
(除非您已在 和 OnResume
中撰寫程式代碼OnPause
),捲動位置和數據列選取狀態將會遺失。
下列屬性可防止因為設定變更而終結和重新建立活動:
[Activity(ConfigurationChanges="keyboardHidden|orientation")]
然後,活動應該覆寫 OnConfigurationChanged
以適當地回應這些變更。 如需如何處理組態變更的詳細資訊,請參閱檔。