首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >致命信号6 (sigabrt) (代码=-6)

致命信号6 (sigabrt) (代码=-6)
EN

Stack Overflow用户
提问于 2014-10-26 11:58:25
回答 1查看 5.5K关注 0票数 3

所以我有了一个网页和菜单。我打开的时候一切都很好。如果webview进度不是0或不是100 (在加载页面时是这样),则设置为webview重新加载菜单项不可见(因此您看不到),并且停止菜单项是可见的。如果webview加载了页面(所以进度为100)或无法加载页面(进度0),则重新加载菜单项变为可见,停止菜单项将变为不可见。我说它很好用..。直到我退出应用程序。(我不清楚系统历史)。

我重新打开了应用程序。克拉什!为什么?如果我从系统历史中删除应用程序,它不会崩溃。我(在代码中)销毁了该活动,但它不起作用。

代码语言:javascript
运行
复制
 // ...
 @Override
 public void onProgressChanged(WebView view, int progress) {
     progressBarLoad.setProgress(progress);
     int prInt = progressBarLoad.getProgress();
     if (prInt > 0 && prInt < 100) {
         menuMain.findItem(R.id.MenuExit).setVisible(true);
         menuMain.findItem(R.id.MenuReload).setVisible(false);
         }
     if (prInt == 100 || prInt == 0) {
         menuMain.findItem(R.id.MenuExit).setVisible(false);
         menuMain.findItem(R.id.MenuReload).setVisible(true);
         }
     }
 //...

OnKeyDown:

代码语言:javascript
运行
复制
 @Override
    public boolean onKeyDown(int keyCode, @NonNull KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && !webViewMain.canGoBack()) {
            if (booleanOnKeyDown) {
                new AlertDialog.Builder(this)
                        .setTitle(getString(R.string.SureExitTitle))
                        .setPositiveButton(getString(R.string.Yes), new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                finish();
                                onDestroy();
                            }
                        })
                        .setNegativeButton(getString(R.string.No), new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        }).show();
            }
        }
        return super.onKeyDown(keyCode, event);
    }

日志:

代码语言:javascript
运行
复制
10-26 12:41:15.867  14008-14008/com.zokni1996.android_forum W/System.err﹕ java.lang.NullPointerException
10-26 12:41:15.867  14008-14008/com.zokni1996.android_forum W/System.err﹕ at com.zokni1996.android_forum.Main.Main$6.onProgressChanged(Main.java:451)
10-26 12:41:15.867  14008-14008/com.zokni1996.android_forum W/System.err﹕ at com.android.webview.chromium.WebViewContentsClientAdapter.onProgressChanged(WebViewContentsClientAdapter.java:271)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-26 14:10:24

我解决了这个问题(是的,这是一个非常糟糕的解决方案)。这是一个空点例外。我用的是尝试-接住。

代码语言:javascript
运行
复制
// ...
@Override
public void onProgressChanged(WebView view, int progress) {
    progressBarLoad.setProgress(progress);
    if (progressBarLoad.getProgress() > 0 && progressBarLoad.getProgress() < 100) {
        try {
            menuMain.findItem(R.id.MenuExit).setVisible(true);
            menuMain.findItem(R.id.MenuReload).setVisible(false);
        } catch (Exception e) {
            Log.i("Menu failed reload or stop ", "" + e);
        }
    } else {
        try {
            menuMain.findItem(R.id.MenuExit).setVisible(false);
            menuMain.findItem(R.id.MenuReload).setVisible(true);
        } catch (Exception e) {
            Log.i("Menu failed reload or stop", "" + e);
        }
    }
}
//...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26572703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档