如何创建可由应用程序中的多个活动使用的可重用对话框片段。此外,使用Dialog片段的每个活动都应该能够修改对话框示例的详细信息:“标题”,“图标”等。
答案 0 :(得分:2)
默认情况下,Fragments属性是重用的,你需要做的就是创建一个足够灵活的片段,根据参数中传递的参数填充它的内容。 您可以使用以下方法:
Fragment.setArguments(Bundle bundle)
将可能影响组件的事物列表传递给片段,例如(标题,描述等)。 在片段中,您可以调用一种方法:
Fragment.getArguments()
返回调用此片段时传递的参数列表。根据您的需求,您可以将简单内容添加到元素中,甚至可以为同一个片段设置不同的布局,方法如下所示(在片段onCreateView中):
Bundle args = getArguments();
int layoutId = args.getInt("inflateLayoutId");
return inflater.inflate(layoutId, null);
当然,您必须采取所有预防措施以避免NPE,但这是如何使片段可重复使用的简要概念..
希望它有所帮助!
问候!
答案 1 :(得分:1)
Fragment类可以通过多种方式实现各种结果。要获得可恢复的DialogFragment
,您需要将其编写为单独的类,但是为了修改详细信息DialogFragment
,不允许您使用有争议的构造函数。因此,您可以使用修改细节
setArguments(Bundle) & getArguments(Bundle)
:
示例:
Bundle args = new Bundle();
args.putInt("num", num);
f.setArguments(args);
在DialogFragment
中使用以下方法获取参数:
Bundle bundle = getArguments()
有关详细信息,请查看此link
。