2013-05-22 35 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

相关问题