所以我对Android开发和Java编程都很陌生(好吧,好吧,所以编程时间......),所以我遇到了一些我在网上找到答案的东西,但我想知道为什么有用。
我根据Android Tutorial网站上的代码创建了一个关注创建AlertDialog的类。然后,在另一个活动中,我创建了一个实例化此AlertDialog类的对象的方法。然后,我尝试使用.show()来实际调用AlertDialog。
没有任何参数就无法工作,所以我必须传递给它的两个参数是getFragmentManager(),以及任何类型的文本,只要它在引号中,就像这样:
alertDialogObject.show(getFragmentManager(),“嗨”);
最后在写完之后,错误就消失了,并且AlertDialog框在我的应用程序中弹出uo就好了。有人可以向我解释我传给show()的基础知识,以及show()想要的参数是什么?
感谢您的帮助!!!
答案 0 :(得分:0)
如果没有指向您所指教程的链接,我将假设您正在讨论基于代码段的DialogFragment
的实现:
alertDialogObject.show(getFragmentManager(), "Hi");
关于“我传递给show()
”和“什么样的论点show() wants
”的问题的最佳答案,你应该参考documentation on the DialogFragment
class。
要更具体地回答第二个问题,请查看两个可用的show(...)
方法。这些在Java术语中称为“重载”:方法具有相同的名称,但接受不同的参数。在文档中,每个方法通常都有简短的描述,解释它的作用,返回值是什么以及期望的参数。这两个也不例外:
public int show(FragmentTransaction transaction, String tag)
显示对话框,使用现有事务添加片段 然后提交交易。
public void show(FragmentManager manager, String tag)
显示对话框,将片段添加到给定的FragmentManager。 这为显式创建事务添加提供了便利 带有给定标记的片段,并提交它。这样做 不将事务添加到后台堆栈。当片段是 被解雇后,将执行新的交易以将其从中删除 活性。
因此,您可以选择使用.show(...)
或FragmentTransaction
来呼叫FragmentManager
,然后使用标记。如何处理交易和/或经理的方式有很多资源。如果您想了解更多相关信息,我建议您从任何教程或Android手册开始,它解释了活动和片段的概念(以及它们之间的差异)。如果您正在使用它的示例,请务必浏览Android SDK附带的API演示。