[英]What arguments should be passed to .show()?
因此,我对Android开发和Java编程(例如,好的,所以编程期...)很陌生,所以我遇到了一些可以在网上找到答案的东西,但是我想知道为什么它可以工作。
我基于该Android教程网站上的代码创建了一个与创建AlertDialog有关的类。 然后,在另一个活动中,我创建了一个实例化AlertDialog类的对象的方法。 然后,我尝试使用.show()实际调用AlertDialog。
没有任何参数它是行不通的,因此,我必须传递给它的两个参数是getFragmentManager()和任何类型的文本,只要它用引号引起来就可以像这样:
alertDialogObject.show(getFragmentManager(),“ Hi”);
最终,在像这样编写之后,错误消失了,AlertDialog框在我的应用程序中弹出uo。 有人可以向我解释我传递给show()的基本知识,以及show()需要什么样的参数吗?
谢谢您的帮助!!!
如果没有指向您要参考的教程的链接,我将假设您正在基于代码片段谈论DialogFragment
的实现:
alertDialogObject.show(getFragmentManager(), "Hi");
为了获得最佳的回答你的问题,以“我传给show()
”和“什么样的参数show() wants
”,你或许应该参考的文档DialogFragment
类 。
为了更具体地回答第二个问题,请看一下两个可用的show(...)
方法。 这些在Java术语中被称为“重载”:具有相同名称但接受不同参数的方法。 在文档中,每个方法通常都有简短的说明,以解释其作用,返回值是什么以及期望使用什么参数。 这两个都不例外:
public int show(FragmentTransaction transaction, String tag)
显示对话框,使用现有事务添加片段,然后提交事务。
public void show(FragmentManager manager, String tag)
显示对话框,将片段添加到给定的FragmentManager中。 这对于显式创建事务,使用给定标签将片段添加到其中并提交的方式非常方便。 这不会将事务添加到后台堆栈。 取消片段后,将执行新事务以将其从活动中删除。
因此,您可以选择通过FragmentTransaction
或FragmentManager
调用.show(...)
,后跟标签。 关于如何处理事务和/或那里的经理的方式,有很多资源。 如果您想进一步了解这一点,建议您从任何教程或Android书籍开始,这些书籍或教程解释活动和片段(及其之间的区别)的概念。 如果您要查找的是示例,请务必通过Android SDK随附的API演示进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.