2

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

public class Main_activity extends ListActivity {...}

在选项菜单中,我想通过邮件发送部分项目。要选择项目,我想显示一个对话框片段。

一切正常,但我必须开始一个新的意图(失去我的列表视图),这扩展了 FragmentActivity,因为无法在 ListActivity 之外使用 getSupportFragmentManager。

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

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

是否有可能直接从我的 Main_activity 显示 DialogFragment?我必须改变什么?

4

1 回答 1

0

我建议您更改 Main_activity 以扩展FragmentActivity并将您的列表代码移动到ListFragment。通过扩展 FragmentActivity 的主要活动,它使您有机会在不丢失 ListView 和基础数据的情况下显示对话框片段。

更新:由于您不想更改当前的设计,我看到了两种前进方式:

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

2 使用自定义对话框而不是 DialogFragment

于 2013-05-22T14:31:14.307 回答