Android 从ListActivity调用DialogFragment

Android 从ListActivity调用DialogFragment,android,listactivity,android-dialogfragment,Android,Listactivity,Android Dialogfragment,我有一个android应用程序,其主活动扩展了listactivity public class Main_activity extends ListActivity {...} 在选项菜单中,我想通过邮件发送部分项目。要选择项目,我想显示一个dialogfragment 一切都很好,但我必须开始一个新的意图(失去我的listview),这个扩展FragmentActivity,因为不可能在ListActivity之外使用getSupportFragmentManager startActiv

我有一个android应用程序,其主活动扩展了listactivity

public class Main_activity extends ListActivity {...}
在选项菜单中,我想通过邮件发送部分项目。要选择项目,我想显示一个dialogfragment

一切都很好,但我必须开始一个新的意图(失去我的listview),这个扩展FragmentActivity,因为不可能在ListActivity之外使用getSupportFragmentManager

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


是否有可能直接从我的主要活动中显示DialogFragment?我需要更改什么?

我建议您更改主要活动,以扩展列表代码并将其移动到一个新的位置。通过主活动扩展FragmentActivity,您可以在不丢失ListView和底层数据的情况下显示对话框片段

更新:由于您不想更改当前的设计,我认为有两种解决方法:

1将列表数据移出ListActivity并放入某种类型的数据模型中,这样您就不会丢失它。创建一个静态类来保存列表数据或将其存储在SharedReferences中


2使用对话片段而不是对话片段

到目前为止,我还没有对片段进行任何处理。读了一会儿之后,听起来并不容易。我想,在我有时间理解这些片段之前,我必须继续使用我当前的代码。感谢您的回答…它真的没有那么复杂,但是如果您现在不想这样做,我想您必须将列表数据从ListActivity中移到某种类型的数据模型中,以免丢失它。创建一个静态类来保存列表数据或将其存储在SharedReferences中
public class Fragment_Activity extends FragmentActivity implements EditNameDialogListener {...}