我有这段代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView webview=(WebView) findViewById(R.id.webView);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/1.html");
@JavascriptInterface
public void showToast(String areaName){
Toast.makeText(mContext, "You clicked on "+areaName, Toast.LENGTH_SHORT).show();
}
}
当我运行我的代码时,我得到2个错误:
错误:(25,38)java:';'预期
错误:(25,54)java:';'预期
当我点击错误时,courser继续这个部分:
public void showToast(String areaName){
但我无法找到我错过分号的地方。 有人可以给我一个亮点吗?:)
答案 0 :(得分:1)
使用此
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView webview=(WebView) findViewById(R.id.webView);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/1.html");
}
@JavascriptInterface
public void showToast(String areaName){
Toast.makeText(mContext, "You clicked on "+areaName, Toast.LENGTH_SHORT).show();
}
您无法在其他方法中创建方法
答案 1 :(得分:1)
您正在声明另一个方法。像这样分开两个:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
WebView webview=(WebView) findViewById(R.id.webView);
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/1.html");
}
@JavascriptInterface
public void showToast(String areaName){
Toast.makeText(mContext, "You clicked on "+areaName, Toast.LENGTH_SHORT).show();
}
答案 2 :(得分:1)
您正尝试在不允许的方法中定义方法。
因此,如果您在注释onCreate
之前关闭@JavascriptInterface
方法并删除结束括号括号,则可以使用。