о ProgressDialog и onResume () - PullRequest
1 голос
/ 09 мая 2011

У меня есть 2 страницы, и все, что мне нужно, это если пользователь нажимает кнопку на первой странице, он отображает ProgressDialog и переходит на вторую страницу, а если пользователь нажимает кнопку назад, чтобы вернуться на первую страницу, он не отображает ProgressDialog, так чтоЯ пытаюсь

Btn.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            dialog = ProgressDialog.show(MainActivity.this, "", 
                    "Loading. Please wait...", true);
            dialog.setMax(2);

            Intent statPage = new Intent(MainActivity.this, Statistic.class);
            startActivity(statPage);
        }
    }); 
public void onResume() {
    if (dialog.isShowing()) {
        dialog.dismiss();
     }
    super.onResume();
}

, но принудительно закрываем

05-09 10:02:54.520: ERROR/AndroidRuntime(623): FATAL EXCEPTION: main

05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): java.lang.RuntimeException: Невозможно возобновить активность {android.test.cal/android.test.cal.MainActivity}: java.lang.NullPointerException 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): в android.app.ActivityThread.performResumeActivity (ActivityThread.java:3128) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): на android.app.ActivityThread.handleResumeActivity (ActivityThread.java:3143) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): на android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2684) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): на android.app.ActivityThread.access $ 2300 (ActivityThread.java:125) 05-09 10:02: 54.520: ОШИБКА / AndroidRuntime (623):в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:2033) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): в android.os.Handler.dispatchMessage (Handler.java:99) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): на android.os.Looper.loop (Looper.java:123) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): на android.app.ActivityThread.main (ActivityThread.java:4627) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): в java.lang.reflect.Method.invokeNative (собственный метод) 05-09 10: 02: 54.520: ОШИБКА/ AndroidRuntime (623): в java.lang.reflect.Method.invoke (Method.java:521) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): в com.android.internal.os.ZygoteInit $MethodAndArgsCaller.run (ZygoteInit.java:868) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): на com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626) 05-09 10:02: 54.520: ОШИБКА / AndroidRuntime (623): at dalvik.system.NativeStart.main (собственный метод) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): вызвано: java.lang.NullPointerException05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): в android.test.cal.MainActivity.onResume (MainActivity.java:165) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): вandroid.app.Instrumentation.callActivityOnResume (Instrumentation.java:1149) 05-09 10: 02: 54.520: ОШИБКА / AndroidRuntime (623): в android.app.Activity.performResume (Activity.java:3823) 05-09 10:02: 54.520: ОШИБКА / AndroidRuntime (623): на android.app.ActivityThread.performResumeActivity (ActivityThread.java:3118)

, пожалуйста, помогите

1 Ответ

3 голосов
/ 09 мая 2011

Пожалуйста, напишите код диалога прогресса в onPause вместо onResume. Когда Вы вызвали другое действие из своего основного действия в это время, вызывается onPause, и он закрывает диалоговое окно хода выполнения.

...