2011-05-09 82 views
1

我有2页,我要的是,如果在第一页用户点击按钮,它会显示ProgressDialog并进入第二页,如果用户单击后退按钮恢复到第一页它不会显示ProgressDialog所以我尽量约ProgressDialog和的onResume()

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(); 
} 

但forceclose

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

十月五日至九日:02:54.520:ERROR/AndroidRuntime(623):了java.lang.RuntimeException:无法恢复activity {android.test.cal/android.test.cal.MainActivity}:java.lang.NullPointerException 05-09 10:02:54.520:ERROR/AndroidRuntime(623):at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3128) 05-09 10:02:54.520:ERROR/AndroidRuntime(623):at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3143) 05-09 10:02:54.520:ERROR/AndroidRuntime(623):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2684) 05-09 10:02:54.520:ERROR/AndroidRuntime(623):at android.app.ActivityThread.access $ 2300(ActivityThread.java:125) 05-09 10:02:54.520:ERROR/AndroidRuntime(623):at android.app .ActivityThread $ H.handleMessage(ActivityThread.java:2033) 十月5日至9日:02:54.520:ERROR/AndroidRuntime(623):在android.os.Handler.dispatchMessage(Handler.java:99) 十月五日至9日:02:54.520:错误/ AndroidRuntime(623):在android.os.Looper.loop(Looper.java:12 3) 10月5日至9日:02:54.520:ERROR/AndroidRuntime(623):在android.app.ActivityThread.main(ActivityThread.java:4627) 10月5日至9日:02:54.520:ERROR/AndroidRuntime(623) :在java.lang.reflect.Method.invokeNative(本机方法) 十月五日至9日:02:54.520:ERROR/AndroidRuntime(623):在java.lang.reflect.Method.invoke(Method.java:521) 10月5日至9日:02:54.520:ERROR/AndroidRuntime(623):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868) 10月5日至9日:02:54.520:ERROR/AndroidRuntime (623):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 05-09 10:02:54.520:ERROR/AndroidRuntime(623):at dalvik.system.NativeStart.main(Native方法) 05-09 10:02:54.520:ERROR/AndroidRuntime(623):引起:java.lang.NullPointerException 05-09 10:02:54.520:ERROR/AndroidRuntime(623):at android.test.cal.MainActivity.onResume(MainActivity.java:165) 05-09 10:02:54.520:ERROR/AndroidRuntime(623):在android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1149) 十月5日至9日:02:54.520:ERROR/AndroidRuntime(623):在android.app.Activity.performResume(Activity.java:3823) 05- 09 10:02:54.520:ERROR/AndroidRuntime(623):在android.app.ActivityThread.performResumeActivity(ActivityThread.java:3118)

请帮助

回答

3

请编写进度对话框代码的onPause代替的onResume。当您从当前主要活动调用另一个活动时,会调用“暂停”并关闭进度对话框。