繁体   English   中英

什么参数应该传递给.show()?

[英]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中。 这对于显式创建事务,使用给定标签将片段添加到其中并提交的方式非常方便。 这不会将事务添加到后台堆栈。 取消片段后,将执行新事务以将其从活动中删除。

因此,您可以选择通过FragmentTransactionFragmentManager调用.show(...) ,后跟标签。 关于如何处理事务和/或那里的经理的方式,有很多资源。 如果您想进一步了解这一点,建议您从任何教程或Android书籍开始,这些书籍或教程解释活动和片段(及其之间的区别)的概念。 如果您要查找的是示例,请务必通过Android SDK随附的API演示进行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM