android – 使用ActionBarCompat的ProgressBar的NullPointerException

前端之家收集整理的这篇文章主要介绍了android – 使用ActionBarCompat的ProgressBar的NullPointerException前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在support-v7-r18中使用ActionBarCompat.
当试图显示不确定的进度时,它适用于Galaxy S3 Android 4.1.2,但不适用于Galaxy Ace Android 2.3.3.

我无法理解为什么.

提出异常的代码

  1. @Override
  2. public void onCreate(Bundle savedInstanceState) {
  3. super.onCreate(savedInstanceState);
  4. ...
  5. final ActionBarActivity activity = this;
  6. content = (WebView) findViewById(R.id.webContent);
  7. content.setWebViewClient(new WebViewClient() {
  8. @Override
  9. public void onPageStarted(WebView view,String url,Bitmap favicon) {
  10. super.onPageStarted(view,url,favicon);
  11. activity.setSupportProgressBarIndeterminate(true); <=== Line 88
  12. activity.setSupportProgressBarIndeterminateVisibility(true);
  13. }
  14. }

例外:

  1. FATAL EXCEPTION: main
  2. java.lang.NullPointerException
  3. at android.support.v7.app.ActionBarActivityDelegateBase.updateProgressBars(ActionBarActivityDelegateBase.java:508)
  4. at android.support.v7.app.ActionBarActivityDelegateBase.setSupportProgressBarIndeterminate(ActionBarActivityDelegateBase.java:469)
  5. at android.support.v7.app.ActionBarActivity.setSupportProgressBarIndeterminate(ActionBarActivity.java:282)
  6. at MyActivity.onPageStarted(MyActivityActivity.java:88)
  7. at android.webkit.CallbackProxy.handleMessage(CallbackProxy.java:266)
  8. at android.os.Handler.dispatchMessage(Handler.java:99)
  9. at android.os.Looper.loop(Looper.java:123)
  10. at android.app.ActivityThread.main(ActivityThread.java:3687)
  11. at java.lang.reflect.Method.invokeNative(Native Method)
  12. at java.lang.reflect.Method.invoke(Method.java:507)
  13. at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
  14. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
  15. at dalvik.system.NativeStart.main(Native Method)

解决方法

添加supportRequestWindowFeature(Window.FEATURE_PROGRESS);或supportRequestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);调用setContentView()之前的onCreate()方法.

猜你在找的Android相关文章