【问题标题】:Android progress bar gets exceptionAndroid进度条出现异常
【发布时间】:2012-09-17 06:56:14
【问题描述】:

我正在使用 Android 中的网络视图,我尝试添加进度条,这是我的代码:

case R.id.studentsite:
            getWindow().requestFeature(Window.FEATURE_PROGRESS);
            setContentView(R.layout.webview);
            WebView wv1 = (WebView)findViewById(R.id.webview);
            WebSettings ws1 = wv1.getSettings();
            final Activity activity = this;
            wv1.setWebChromeClient(new WebChromeClient() {
              public void onProgressChanged(WebView view, int progress) {
                // Activities and WebViews measure progress with different scales.
                // The progress meter will automatically disappear when we reach 100%
                activity.setProgress(progress * 1000);
              }
            });
            wv1.setWebViewClient(new WebViewClient() {
              public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
                Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
              }
            });
            wv1.getSettings().setBuiltInZoomControls(true);
            ws1.setJavaScriptEnabled(true);
            wv1.setWebViewClient(new WebViewClient());
            wv1.loadUrl("http://www.studentsite.gunadarma.ac.id");
            break;

问题是我在 LOGCAT 上遇到了这样的异常:

09-17 13:51:34.487: ERROR/AndroidRuntime(1331): FATAL EXCEPTION: main 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): android.util.AndroidRuntimeException: requestFeature() must be called before adding content 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at com.android.internal.policy.impl.PhoneWindow.requestFeature(PhoneWindow.java:181) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at com.ugsimplify.ugweb.callintent(ugweb.java:89) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at com.ugsimplify.ugweb$1.onClick(ugweb.java:29) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at android.view.View.performClick(View.java:2485) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at android.widget.CompoundButton.performClick(CompoundButton.java:99) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at android.view.View$PerformClick.run(View.java:9080) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at android.os.Handler.handleCallback(Handler.java:587) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at android.os.Handler.dispatchMessage(Handler.java:92) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at android.os.Looper.loop(Looper.java:123) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at android.app.ActivityThread.main(ActivityThread.java:3647) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at java.lang.reflect.Method.invokeNative(Native Method) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at java.lang.reflect.Method.invoke(Method.java:507) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 09-17 13:51:34.487: ERROR/AndroidRuntime(1331): at dalvik.system.NativeStart.main(Native Method)

您知道如何解决它吗?谢谢。

【问题讨论】:

  • activity.setProgress 这样对吗??
  • 应该是正确的,但是没有显示任何进度条,您要帮忙吗?
  • 你可能会在这里得到答案:stackoverflow.com/q/4988676/1012284

标签: android android-webview android-progressbar


【解决方案1】:

super.oncreate 之后在Oncreate 中调用下面的行

getWindow().requestFeature(Window.FEATURE_PROGRESS);

您在按钮单击中调用它,您已经为其设置了内容。 进度条功能只能在第一次 setContentView 之前请求。

【讨论】:

  • 谢谢你解决了我的问题,但是你能告诉我为什么我没有看到任何关于进度条的东西,它什么都没有显示。
  • 它将位于标题栏。活动进度条的取值范围是 0 到 10000,所以我猜你必须乘以 100 而不是 1000。
【解决方案2】:
    Hi Here is problem that you have call.


  getWindow().requestFeature(Window.FEATURE_PROGRESS); before  setContentView(R.layout.webview);
    It should be call below the setContentView(R.layout.webview);

    Answer :-


                setContentView(R.layout.webview);
    getWindow().requestFeature(Window.FEATURE_PROGRESS);

【讨论】:

    【解决方案3】:

    根据logcat你在设置contentView后使用了requestFeature。

    您发布的部分代码非常完美。

    我怀疑你已经在其他地方使用过 setContentView,也许是在 onCreate 方法中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 1970-01-01
      • 2012-05-22
      相关资源
      最近更新 更多