Android 吐司:区别于;这";及;getApplicationContext();?
我的设备运行安卓5.1.1,我发现如果我使用Android 吐司:区别于;这";及;getApplicationContext();?,android,android-context,android-toast,android-5.1.1-lollipop,Android,Android Context,Android Toast,Android 5.1.1 Lollipop,我的设备运行安卓5.1.1,我发现如果我使用 Toast.makeText(this, "This is a toast", Toast.LENGTH_SHORT).show(); 我明白了: 但是如果我使用getApplicationContext()而不是this Toast.makeText(getApplicationContext(), "This is a toast", Toast.LENGTH_SHORT).show(); 我明白了: 这两个函数都是直接从活动中调用的 这
Toast.makeText(this, "This is a toast", Toast.LENGTH_SHORT).show();
我明白了:
但是如果我使用getApplicationContext()
而不是this
Toast.makeText(getApplicationContext(), "This is a toast", Toast.LENGTH_SHORT).show();
我明白了:
这两个函数都是直接从活动中调用的
这是为什么?它与上下文关联的主题有关。使用
此
使用的上下文(我假设您的活动
或片段
)的主题与应用程序上下文不同
如果您有理由需要使用应用程序上下文,那么可以将其包装在您的活动正在使用的任何主题中(通常在AndroidManifest.xml
中设置),并且它应该显示“圆形”吐司
Toast.makeText(new ContextThemeWrapper(getApplicationContext(), R.style.AppTheme), "This is a toast", Toast.LENGTH_SHORT).show();