错误:无法从静态上下文引用非静态方法setJavaScriptEnabled(boolean)

时间:2018-11-08 10:22:18

标签: android android-webview

我尝试从头开始构建Web视图应用程序,由于对此尚不熟悉,因此我在第22行遇到错误,因为我设置了websetting.setjavascriptenabled(true);它不接受。

错误弹出窗口

error: non-static method setJavaScriptEnabled(boolean) cannot be referenced from a static context
        WebSettings.setJavaScriptEnabled(true);

我的项目设置适用于android Oreo 8.1

package net.jptechsolutions.jptechinvoice;

import android.annotation.SuppressLint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class MainActivity extends AppCompatActivity {

public WebView mywebview;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mywebview=(WebView)findViewById(R.id.webview);

    WebSettings webSettings=mywebview.getSettings();
    WebSettings.setJavaScriptEnabled(true);

    mywebview.loadUrl("https://*********************");

    mywebview.setWebChromeClient(new WebChromeClient());


}

@Override
public void onBackPressed() {
    if (mywebview.canGoBack())
    {
        mywebview.goBack();
    }
    else
    {
        super.onBackPressed();
    }

}

2 个答案:

答案 0 :(得分:2)

使用

webSettings.setJavaScriptEnabled(true);  

代替

 WebSettings.setJavaScriptEnabled(true);

您正在使用带有方法名称的类名称。将您定义的对象名称与方法名称一起使用。

答案 1 :(得分:0)

您调用WebSettings的静态功能。应该是:webSettings. setJavaScriptEnabled(true);