这方面在Android中使用的吐司?

问题描述 投票:6回答:4

我刚刚得知,我可以使用:

Toast.makeText(MainActivity.this, R.string.some_string,Toast.LENGTH_SHORT).show();

要么,

Toast.makeText(getApplicationContext(), R.string.some_string,Toast.LENGTH_SHORT).show();

要显示在Android上致祝酒辞。

早些时候,我还以为背景竟是一种句柄父窗口的地方应该是显示器,但documentation不清楚这件事。

然后,我遇到了这个表:enter image description here

它也似乎不提究竟使用什么背景的吐司?

编辑:

背景是像一个“句柄父窗口”子窗口像吐司?或者它实际上允许Toast.makeText获得对资源的访问还是什么?

为什么它在所有如果上下文不要紧被使用?

android android-context android-toast
4个回答
1
投票

看着Toast.java,我可以看到Context仅用于:

  • 获得Resources
  • 获得软件包名称
  • getText这实际上是相同#1

因此很明显,有没有区别是否是ActivityApplicationContext,除非这些资源依赖于主题(这是不是这样的,据我可以告诉)。

不,传给吐司上下文不句柄父窗口在任何意义。


0
投票

您可以显示吐司只能从UI(主线程)上下文。如果你想从服务显示这个(但这是违背谷歌的准则),你可以这样说:Show toast at current Activity from service


0
投票

对于祝酒词,这是短暂的,通常可以使用任何你想要的内容。通常情况下,你可以使用活动场景,但应用程序上下文是罚款为好。


0
投票

我建议你使用的活动,你的情况。既然你从活动本身呼唤。该活动是一个框架,并且你使用上的活动的方法来获得另一个上下文(应用程序)。这是一个有点不必要。

然而,在的情况下你调用敬酒从别的地方可能是使用的应用程序,因为应用程序会永远在那里,而你的应用处于活动状态更好的主意。

© www.soinside.com 2019 - 2024. All rights reserved.