Android Studio Get错误:在添加检查Internet连接代码后,该方法不会重写或实现超类型中的方法
我只是Android Studio的新手,我想检查互联网连接,但我一直收到以下错误: 方法不会重写或实现超类型中的方法 添加后检查Internet连接代码 完整代码:Android Studio Get错误:在添加检查Internet连接代码后,该方法不会重写或实现超类型中的方法,android,android-studio,Android,Android Studio,我只是Android Studio的新手,我想检查互联网连接,但我一直收到以下错误: 方法不会重写或实现超类型中的方法 添加后检查Internet连接代码 完整代码: import android.net.NetworkInfo; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreat
import android.net.NetworkInfo;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("this is my url");
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
**@Override
public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
return true;
}
return false;
}**
});
}
}
我只需添加此代码,然后得到错误:
@Override
public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
return true;
}
return false;
}
感谢您的帮助…为
isNetworkAvailable()设置@Override
,
表示您正试图从WebViewClient
覆盖一个方法。但是在WebViewClient
中没有方法isnetworkavailable()。这就是为什么会出现错误
删除isNetworkAvailable()
顶部的@覆盖
,如下所示:
myWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
return true;
}
return false;
}
});
记得加上
在您的AndroidManifest.xml
顺便说一句,把isNetworkAvailable()
放在WebViewClient
里面不是一个好主意。要么将其直接放在MainActivity
下,要么创建另一个类(比如DeviceUtil
)。如果您创建一个新的DeviceUtil
类,那么代码将可在不同的活动中重用。这可能会解决您的问题:
import android.net.NetworkInfo;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("this is my url");
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
}
public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
return true;
}
return false;
}
}
谢谢@Sagar,,,