2012-09-17 52 views
0

我在Android網絡視圖中工作,我嘗試添加進度條,這裏是我的代碼: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)

你知道如何解決嗎?謝謝。

+0

activity.setProgress是否正確? –

+0

它應該是正確的,但它不顯示任何進度條,你想幫忙嗎? –

+1

你可能會在這裏得到答案:http://stackoverflow.com/q/4988676/1012284 –

回答

1

低於Oncreate線呼叫只是super.oncreate

getWindow().requestFeature(Window.FEATURE_PROGRESS); 

要調用它在按鈕的點擊,您要查詢已經設置了內容之後。 進度條功能只能在setContentView之前首次請求。

+0

謝謝你解決我的問題,但你能告訴我爲什麼我沒有看到關於進度條的任何事情,它不顯示任何東西。它將在標題欄中顯示爲 –

+0

。活動進度條的取值範圍是0到10000,所以我想你必須乘以100而不是1000。 – nandeesh

0
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); 
0

根據logcat,您在設置contentView後使用了requestFeature。

您發佈的部分代碼非常完美。

我懷疑你已經在其他地方使用setContentView,也許在onCreate方法。