2013-05-22 43 views
2

我有一個主要活動擴展列表活動的android應用程序。從ListActivity調用DialogFragment

public class Main_activity extends ListActivity {...} 

在選項菜單中,我想通過郵件發送一部分項目。要選擇項目,我想顯示一個對話框片段。

一切工作正常,但我必須開始一個新的意圖(丟失我的列表視圖),這擴展FragmentActivity,因爲它是不可能使用getSupportFragmentManager的ListActivity。

startActivity (new Intent (this, Fragment_Activity.class)); 

public class Fragment_Activity extends FragmentActivity implements EditNameDialogListener {...} 

是否有可能直接從我的Main_activity顯示DialogFragment?我需要改變什麼?

回答

0

我建議您將Main_activity更改爲FragmentActivity,並將您的列表代碼移至ListFragment。通過擴展FragmentActivity的主要活動,您可以在不丟失ListView和底層數據的情況下顯示對話框片段。

更新:既然你不希望改變當前的設計我看到兩個前進方向:

1將列表數據從ListActivity,進入某種類型的數據模型,使你不失去它。創建一個靜態類來保存列表數據或將其存儲在SharedPreferences中。

2使用custom dialog代替DialogFragment

+0

我還沒有對任何碎片直到現在。閱讀一段時間後,聽起來並不容易。我想,我必須留在當前的代碼中,直到有時間理解這些片段。 感謝您的回答... – Berolino

+0

它確實不是那麼複雜,但如果您現在不想這樣做,我想您必須將列表數據移出ListActivity並移入某種數據模型所以你不會失去它。創建一個靜態類來保存列表數據或將其存儲在SharedPreferences中 – britzl

相關問題