【问题标题】:Android showing progress bar for webview in androidAndroid 在 android 中显示 webview 的进度条
【发布时间】:2014-04-26 09:53:20
【问题描述】:

在我的应用程序中,在 Web 视图中加载网页,直到该网页加载需要在该进度条消失后显示进度条..我正在使用一个活动..很快回复我等待您的回答

04-26 18:02:36.791: D/AndroidRuntime(25114): Shutting down VM
04-26 18:02:36.791: W/dalvikvm(25114): threadid=1: thread exiting with uncaught exception (group=0x41250438)
04-26 18:02:36.811: E/AndroidRuntime(25114): FATAL EXCEPTION: main
04-26 18:02:36.811: E/AndroidRuntime(25114): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{in.androidapplicationdotin.tneb/in.androidapplicationdotin.tneb.Onlinepayment}: java.lang.NullPointerException
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2038)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2139)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.ActivityThread.access$700(ActivityThread.java:143)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.os.Handler.dispatchMessage(Handler.java:99)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.os.Looper.loop(Looper.java:137)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.ActivityThread.main(ActivityThread.java:4960)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at java.lang.reflect.Method.invokeNative(Native Method)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at java.lang.reflect.Method.invoke(Method.java:511)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at dalvik.system.NativeStart.main(Native Method)
04-26 18:02:36.811: E/AndroidRuntime(25114): Caused by: java.lang.NullPointerException
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.content.ContextWrapper.getApplicationInfo(ContextWrapper.java:143)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.view.ContextThemeWrapper.getTheme(ContextThemeWrapper.java:65)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.AlertDialog.resolveDialogTheme(AlertDialog.java:142)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.AlertDialog.<init>(AlertDialog.java:98)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.ProgressDialog.<init>(ProgressDialog.java:77)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at in.androidapplicationdotin.tneb.Onlinepayment.<init>(Onlinepayment.java:24)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at java.lang.Class.newInstanceImpl(Native Method)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at java.lang.Class.newInstance(Class.java:1319)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.Instrumentation.newActivity(Instrumentation.java:1068)
04-26 18:02:36.811: E/AndroidRuntime(25114):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2029)
04-26 18:02:36.811: E/AndroidRuntime(25114):    ... 11 more
04-26 18:02:42.111: I/GATE(25114): <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
04-26 18:03:30.431: I/Ads(25114): AdLoader timed out after 60000ms while loading the HTML.
04-26 18:03:30.571: I/Ads(25114): AdLoader timed out after 60000ms while loading the HTML.
04-26 18:05:44.491: I/Process(25114): Sending signal. PID: 25114 SIG: 9

【问题讨论】:

  • 这不是 StackOverflow 的工作方式。您应该先进行研究,然后告诉我们您的尝试。如果您有问题,我们可以提供帮助。你不能只要求代码。

标签: android for-loop progress-bar loading webpage


【解决方案1】:

试试下面的代码 -

把这段代码放到onCreate()方法中

webView.setWebViewClient(new myWebClient());    
webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("Your web url");

public class myWebClient extends WebViewClient


    {
        private ProgressDialog myProgressDialog;

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            // TODO Auto-generated method stub
            super.onPageStarted(view, url, favicon);
            myProgressDialog = new ProgressDialog(YourActivity.this);
            myProgressDialog.setCancelable(false);
            myProgressDialog.show();
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            // TODO Auto-generated method stub


            return true;

        }
        @Override
        public void onPageFinished(WebView view, String url) {
        // TODO Auto-generated method stub
        super.onPageFinished(view, url);
        try{
            if (myProgressDialog != null)
                myProgressDialog.dismiss();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }


        }
        @Override
        public void doUpdateVisitedHistory(WebView view, String url,
                boolean isReload) {
            // TODO Auto-generated method stub
            super.doUpdateVisitedHistory(view, url, isReload);


        }

        @Override
        public void onLoadResource(WebView view, String url) {
            // TODO Auto-generated method stub
            super.onLoadResource(view, url);



        }

    }

希望这段代码对你有帮助!!!!

如果它不起作用,请告诉我,我会尽力为您提供更多帮助..

【讨论】:

  • 永远欢迎你..:) 我喜欢帮助我知道答案的人。:)
  • 我是 android 的新手..谢谢你的帮助你能不能给你的个人邮件 ID
  • 我需要在对话框中显示文字加载... 怎么做
  • 我不明白你想做什么?
  • 我问的是如何显示正在进行的单词加载对话框..我有输出..我很高兴
【解决方案2】:

你可以试试这个……

    private ProgressDialog dialog = new ProgressDialog(WebActivity.this);

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);
    webView = (WebView) findViewById(R.id.webView1);

    Bundle extras = getIntent().getExtras();
    String url=extras.getString("adres");

    webView.setWebViewClient(new WebViewClient() {
        @Override
        public void onPageFinished(WebView view, String url) {                  
            if (dialog.isShowing()) {
                dialog.dismiss();
            }
        }
    });
    dialog.setMessage("Loading..Please wait.");
    dialog.setCanceledOnTouchOutside(false);
    dialog.show();
    webView.loadUrl(url);

    WebSettings webSettings = webView.getSettings();
    webSettings.setJavaScriptEnabled(true);
}

【讨论】:

  • 不适合我这样的类似只给我一些建议
  • 我无法在此处发布我的 logcat,您可以提供您的邮件 ID ...我是 android 新手
猜你喜欢
  • 1970-01-01
  • 2011-02-02
  • 1970-01-01
  • 2019-03-26
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多