2010-05-07 72 views
4

我有一個listview,其中每個項目與一個數組中的項目的實例相關。當用戶選擇一個項目時,它會彈出一個'詳細信息'頁面,讀取並顯示列表項目的其他數據成員。ListView項目詳細信息屏幕:新建或同一活動?

這會更好地實現與詳細信息頁面作爲自己的活動,或同一活動內的新視圖?每個的優缺點?

新的活動使得我的工作在處理「後退」按鈕方面變得容易一些,但是隨後我遇到了如何將其餘數據結構傳遞給新活動的挑戰,因爲我不能捆綁它(除非我序列化)。

******編輯****基本上我有一個播放列表,其中列表項顯示標題, 項目號和圖標。點擊該項目將顯示完整的項目說明屏幕。我傾向於將其包含在播放列表中,因爲所有的數據都包含在那裏。

回答

0

取決於你希望如何完成,我建議使用一個新的活動有很多信息的東西;尤其是如果同時需要一些互動性,如鏈接。

Pro的這個主要是應用程序的流程。用戶可以使用後退按鈕進行導航。

反對的是具有有一個全新的活動查看詳情

如果你是,但只是延伸的描述,你可以使用一個對話框。

0

這取決於您是否希望能夠從其他地方調用該項目,然後將其分解爲單獨的活動是要走的路。至於如何獲取那裏的數據,爲什麼不把這個項目的id傳遞給Intent,然後根據id從數據存儲中加載它。

0

但後來我有 我怎麼傳遞數據 結構,以新的活動,因爲我 不能捆綁起來(除非我序列 吧)其餘的挑戰。

或者,將您的模型移動到最初的Activity之外。例如,您可以將您的列表保存爲Service,每個Activity都綁定到該列表並讓它管理該模型。或者,讓模型保存在靜態數據成員中(但要注意GC問題)。或者,如果最終這將在數據庫中,那麼現在將其獲取到數據庫,然後通過一個額外的密鑰傳遞給該項目,以便詳細信息活動可以從數據庫中獲取它。

+0

對於應用程序全局變量,我一直在對應用程序進行子類化,並使用其中的字段。但是,將我的播放列表項目從我的播放列表相關活動中拉出將是一個大規模的常規突破。想想這個。 – stormin986 2010-05-08 06:14:24