有许多问题询问如何从另一个班级弹出祝酒词,我必须尝试过所有这些,但似乎都没有。
我正在扩展webViewClient,需要弹出一些与toast加载错误相关的消息,但是我似乎无法定义上下文?
public class MyAppWebViewClient extends WebViewClient {
private static Context context;
public MyAppWebViewClient(Context c) {
context = c;
}
public static void popup(String message){
Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
}
popup("Hello World")
}
这就是错误:
Error:(301, 34) error: constructor MyAppWebViewClient in class MyAppWebViewClient cannot be applied to given types;
required: Context
found: no arguments
reason: actual and formal argument lists differ in length
我做错了什么?
答案 0 :(得分:0)
首先,context
变量不应为static
。您的代码可能适用于static
修饰符。但它使用不正确。
接下来,MyAppWebViewClient
构造函数需要Context
参数,因此您必须在创建MyAppWebViewClient
实例时提供一个参数。例如:
WebViewClient client = new MyAppWebViewClient(this);
我假设这行代码在Activity
的子类的方法内。如果您在Fragment
子类中,请执行以下操作:
WebViewClient client = new MyAppWebViewClient(getActivity());