我刚学会了我可以使用:
Toast.makeText(MainActivity.this, R.string.some_string,Toast.LENGTH_SHORT).show();
,或者
Toast.makeText(getApplicationContext(), R.string.some_string,Toast.LENGTH_SHORT).show();
在Android中显示Toast。
之前我认为上下文实际上是父窗口的一种句柄,应该显示它,但documentation对此不清楚。
它似乎也没有提到准确用于Toast的上下文?
上下文就像父窗口"句柄一样#34;像Toast这样的子窗口?或者它实际上是否允许Toast.makeText
访问资源或什么?
如果上下文不重要,为什么要使用它?
答案 0 :(得分:0)
您只能从UI(主线程)上下文显示Toast。如果您想在服务中显示此内容(但这与Google指南相矛盾),您可以这样做:Show toast at current Activity from service
答案 1 :(得分:0)
对于短命的祝酒词,你通常可以使用你想要的任何上下文。通常,您将使用活动上下文,但应用程序上下文也可以。
答案 2 :(得分:0)
我建议您在案例中使用该活动。因为你是从活动本身打来的。活动是一个Context,您正在使用活动上的方法来获取另一个上下文(应用程序)。这有点不必要。
但是,如果您正在从其他地方致电吐司,那么使用该应用程序可能是个更好的主意,因为在您的应用处于活动状态时,应用程序将始终存在。
答案 3 :(得分:0)
看着Toast.java,我看到Context
仅用于:
Resources
getText
实际上与#1相同因此,显然Activity
还是ApplicationContext
并没有什么区别,除非这些资源取决于主题(据我所知,情况并非如此)。
不,从任何意义上讲,传递给Toast的上下文都不是父窗口的句柄。