Когда я запускаю приложение на некоторых устройствах, так что все в порядке, но другие устройства, которые пользователь обычно использует, но со временем приложение выходит и после каждого открытия пишет приложение, к сожалению, перестало работать. После удаления и установки снова работает только около 10 минут, а затем снова такая же ошибка. Когда я сообщил, что ошибка в Google объявила это сообщение мне. Кто-нибудь знает что делать? Извините за плохой английский.Завершение работы приложения Android
java.lang.NullPointerException
at www.clientbook.cz.ClientBook.controlWebUrl(ClientBook.java:92)
at www.clientbook.cz.ClientBook.access$1(ClientBook.java:90)
at www.clientbook.cz.ClientBook$ClientBookClient.onPageFinished(ClientBook.java:239)
at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:332)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:153)
at android.app.ActivityThread.main(ActivityThread.java:5297)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)
Это моя функция controlWebUrl()
private void controlWebUrl(String url) {
//nastavení navigation
if(!url.contains("/index/login") && !url.contains("/index/register") && !url.contains("/index/wait") && !url.contains("/index/active") && !url.contains("/index/forgotpassword")){
mDrawerList.setAdapter(menuListLogin);
login = true;
} else{
mDrawerList.setAdapter(menuList);
login = false;
}
if(url.contains("/index/login")){
setTitle("Přihlášení");
} else if(url.contains("/index/register")){
setTitle("Registrace");
} else if(url.contains("/index/forgotpassword")){
setTitle("Zapomenuté heslo");
} else if(url.contains("/index/wait")){
setTitle("Nepřišel vám e-mail ?");
} else if(url.contains("/index/profile")){
setTitle("Můj profil");
} else if(url.contains("/clients/add")){
setTitle("Přidat klienta");
} else if(url.contains("/clients/list")){
setTitle("Seznam klientů");
} else if(url.contains("/clients/search")){
setTitle("Hledat");
} else if(url.contains("/clients/map")){
setTitle("Mapa klientů");
} else if(url.contains("/clients/show")){
setTitle("Profil klienta");
} else if(url.contains("/clients/edit")){
setTitle("Upravit klienta");
} else if(url.contains("/meetings")){
setTitle("Schůzky");
} else if(url.contains("/forms")){
setTitle("Dotazníky");
} else if(url.contains("/index/account")){
setTitle("Můj účet");
} else if(url.contains("/index/settings")){
setTitle("Nastavení");
} else if(url.contains("/index/search/type/sms")){
setTitle("Hromadná SMS");
} else if(url.contains("/index/search/type/email")){
setTitle("Hromadný E-mail");
} else if(url.contains("/index/search/type/dual")){
setTitle("Hromadná SMS+E-mail");
} else if(url.contains("/index/search/type/history")){
setTitle("Historie Hromadného rozesílání");
} else {
setTitle("ClientBook.cz");
}
}
Где проблема? Функция должна иметь возврат?
Это WebViewClient
private class ClientBookClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView webview, String url)
{
if (!loadingFinished) {
redirect = true;
}
loadingFinished = false;
webview.loadUrl(url);
return true;
}
@Override
public void onPageStarted(WebView webview, String url, Bitmap favicon){
loadingFinished = false;
}
@Override
public void onPageFinished(WebView webview, String url) {
controlWebUrl(mWebView.getUrl());
if(!redirect){
loadingFinished = true;
}
if(loadingFinished && !redirect && findViewById(R.id.connect).getVisibility() == View.GONE){
findViewById(R.id.load_pb).setVisibility(View.GONE);
findViewById(R.id.load_text).setVisibility(View.GONE);
findViewById(R.id.connect).setVisibility(View.GONE);
mWebView.setVisibility(View.VISIBLE);
} else{
if(findViewById(R.id.connect).getVisibility() == View.VISIBLE){
findViewById(R.id.load_pb).setVisibility(View.GONE);
}
redirect = false;
//error = false;
}
}
public void onReceivedError(WebView view, int errorCod,String description, String failingUrl) {
if(errorCod == -1){
mWebView.goBack();
} else if(errorCod == -2){
mWebView.setVisibility(View.GONE);
TextView error_text = (TextView) findViewById(R.id.load_text);
error_text.setText("Neumím pracovat bez internetu..");
error_text.setVisibility(View.VISIBLE);
findViewById(R.id.connect).setVisibility(View.VISIBLE);
}
}
}
У вас есть нулевой указатель в ClientBook в методе controlWebUrl() в строке 92. – zgc7009
Либо ваш URL-адрес, либо ваш mDrawerList имеет значение NULL. – zgc7009