为什么 Toast 需要 Context?
Why does Toast need Context?
public static Toast makeText( Context context, int resId, int duration)
如上代码,需要Context
才能生成Toast
。
各种资源给出的解释是 Toast class 需要 Context
才能找到和使用字符串的资源 ID。我不明白为什么会这样。 Context 如何帮助查找资源?
资源 ID 是特定于上下文的。不同的应用程序有不同的上下文,这意味着它们可能导致不同的资源。
回答这部分问题
How does Context help in finding resource ?
从上下文 documentation,存在访问应用程序特定资源的上下文
Interface to global information about an application environment. ... It allows access to application-specific resources and classes,...
所以上下文 class 包含一个 method getResource()
其中
Return a Resources instance for your application's package.
public static Toast makeText( Context context, int resId, int duration)
如上代码,需要Context
才能生成Toast
。
各种资源给出的解释是 Toast class 需要 Context
才能找到和使用字符串的资源 ID。我不明白为什么会这样。 Context 如何帮助查找资源?
资源 ID 是特定于上下文的。不同的应用程序有不同的上下文,这意味着它们可能导致不同的资源。
回答这部分问题
How does Context help in finding resource ?
从上下文 documentation,存在访问应用程序特定资源的上下文
Interface to global information about an application environment. ... It allows access to application-specific resources and classes,...
所以上下文 class 包含一个 method getResource()
其中
Return a Resources instance for your application's package.