7

Używam ActionBarCompat w support-v7-r18. Próbując pokazać nieokreślony postęp, działa na Galaxy S3 Android 4.1.2, ale nie działa na Galaxy Ace Android 2.3.3.Wyjątek NullPointerException z ProgressBar przy użyciu ActionBarCompat

Nie rozumiem dlaczego.

Kod podniesienie wyjątek:

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ... 
    final ActionBarActivity activity = this; 
    content = (WebView) findViewById(R.id.webContent); 
    content.setWebViewClient(new WebViewClient() { 
     @Override 
     public void onPageStarted(WebView view, String url, Bitmap favicon) { 
      super.onPageStarted(view, url, favicon); 
      activity.setSupportProgressBarIndeterminate(true); <=== Line 88 
      activity.setSupportProgressBarIndeterminateVisibility(true); 
     } 
    } 

Wyjątek:

FATAL EXCEPTION: main 
    java.lang.NullPointerException 
    at android.support.v7.app.ActionBarActivityDelegateBase.updateProgressBars(ActionBarActivityDelegateBase.java:508) 
    at android.support.v7.app.ActionBarActivityDelegateBase.setSupportProgressBarIndeterminate(ActionBarActivityDelegateBase.java:469) 
    at android.support.v7.app.ActionBarActivity.setSupportProgressBarIndeterminate(ActionBarActivity.java:282) 
    at MyActivity.onPageStarted(MyActivityActivity.java:88) 
    at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:266) 
    at android.os.Handler.dispatchMessage(Handler.java:99) 
    at android.os.Looper.loop(Looper.java:123) 
    at android.app.ActivityThread.main(ActivityThread.java:3687) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:507) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
    at dalvik.system.NativeStart.main(Native Method) 
+1

Czy możesz wybrać linię 88 w swoim opublikowanym kodzie. –

+0

Oups, przepraszam, że to "activity.setSupportProgressBarIndeterminate (true);" – JulienC

Odpowiedz

16

Dodaj supportRequestWindowFeature(Window.FEATURE_PROGRESS); lub supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS); do onCreate Sposób() przed wywołaniem setContentView().

+4

Dokładniej, musisz dodać obie funkcje, aby pokazać postępy na Android 2.3.3 – JulienC

+0

i 'setSupportProgressBarIndeterminateateVisibility (Boolean.TRUE);' – Dori

+2

nadal zawiesza się dla mnie, gdy żądam zarówno postępu, jak i nieokreślonego postępu przy użyciu metody supportRequestWindowFeature ... – JMRboosties

Powiązane problemy