显示ProgressDialog时出现StackOverflowError

时间:2015-02-10 09:26:06

标签: android dialog progressdialog

我正在显示ProgressDialog,如下所示:

private void showProgressDialog() {
    mProgressDialog = new ProgressDialog(this);
    mProgressDialog.setIndeterminate(true);
    mProgressDialog.setMessage(getString(R.string.logging_in));
    mProgressDialog.show();
}

但是在某些设备上(Sony Xperia L; 4.1.2)我得到了这个例外:

java.lang.StackOverflowError
    at com.android.internal.app.AlertController.installContent(AlertController.java:236)
    at android.app.AlertDialog.onCreate(AlertDialog.java:336)
    at android.app.ProgressDialog.onCreate(ProgressDialog.java:198)
    at android.app.Dialog.dispatchOnCreate(Dialog.java:351)
    at android.app.Dialog.show(Dialog.java:256)
    at com.x.x.activity.LoginActivity.showProgressDialog(LoginActivity.java:140)
    at com.x.x.activity.LoginActivity.onPasswordBtnClick(LoginActivity.java:119)
    at com.x.x.activity.LoginActivity$$ViewInjector$3.onClick(LoginActivity$$ViewInjector.java:40)
    at android.view.View.performClick(View.java:4129)
    at android.view.View$PerformClick.run(View.java:17143)
    at android.os.Handler.handleCallback(Handler.java:615)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:137)
    at android.app.ActivityThread.main(ActivityThread.java:4802)
    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:813)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:580)
    at dalvik.system.NativeStart.main(Native Method)

编辑:我正在使用ButterKnife,此方法位于Activity类。

@OnClick(R.id.login_btn_password)
void onPasswordBtnClick(TextView textview) {
    if (mLoginName.getEditableText().toString().trim().isEmpty()) {
        MyToast.showToast(R.string.empty_username, Toast.LENGTH_LONG);
        return;
    }

    showProgressDialog();
}

提前致谢。

1 个答案:

答案 0 :(得分:0)

我已经“解决”了问题。我没有看到这两件事之间的联系,但将谷歌邮件添加到谷歌播放(并可能更新谷歌服务)解决了这个问题。