Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用应用程序时无法查看进度条(水平)。(导航抽屉)_Android_Webview_Progress Bar_Navigation Drawer_Drawerlayout - Fatal编程技术网

Android 使用应用程序时无法查看进度条(水平)。(导航抽屉)

Android 使用应用程序时无法查看进度条(水平)。(导航抽屉),android,webview,progress-bar,navigation-drawer,drawerlayout,Android,Webview,Progress Bar,Navigation Drawer,Drawerlayout,我使用了Android Studio的导航抽屉(模板)。根据教程,我可以很容易地在“content_main”xml中看到进度条。然而,每当活动开始时,进度条就不存在了。我尝试过很多教程,包括使用FrameLayout代替ConstraintLayout,使用工具栏内部的进度条使用线性布局。请帮帮我。下面给出了“content_main”的代码 <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" x

我使用了Android Studio的导航抽屉(模板)。根据教程,我可以很容易地在“content_main”xml中看到进度条。然而,每当活动开始时,进度条就不存在了。我尝试过很多教程,包括使用FrameLayout代替ConstraintLayout,使用工具栏内部的进度条使用线性布局。请帮帮我。下面给出了“content_main”的代码

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="parts.tractor.versa.com.versatractorparts.MainActivity"
tools:showIn="@layout/app_bar_main">

<ProgressBar
    android:id="@+id/progressBar"
    style="?android:attr/progressBarStyleHorizontal"
    android:layout_width="match_parent"
    android:layout_height="40dp"
    android:layout_gravity="top"
    android:progressDrawable="@drawable/bg_progress_bar_webview"/>

<WebView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/webView"/>

使用默认ProgressBar在此方法中传递Url

private void startWebView(String url) {

    WebSettings settings = webView.getSettings();

    settings.setJavaScriptEnabled(true);
    webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);

    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setLoadWithOverviewMode(true);

    progressDialog = new ProgressDialog(ContestActivity.this);
    progressDialog.setMessage("Loading...");
    progressDialog.show();

    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            if (progressDialog.isShowing()) {
                progressDialog.dismiss();
            }
        }

        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Toast.makeText(ContestActivity.this, "Error:" + description, Toast.LENGTH_SHORT).show();

        }
    });
    webView.loadUrl(url);
}

谢谢然而,我一直在寻找我使用过的进度条,想知道它没有显示的确切原因。
private void startWebView(String url) {

    WebSettings settings = webView.getSettings();

    settings.setJavaScriptEnabled(true);
    webView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);

    webView.getSettings().setBuiltInZoomControls(true);
    webView.getSettings().setUseWideViewPort(true);
    webView.getSettings().setLoadWithOverviewMode(true);

    progressDialog = new ProgressDialog(ContestActivity.this);
    progressDialog.setMessage("Loading...");
    progressDialog.show();

    webView.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            if (progressDialog.isShowing()) {
                progressDialog.dismiss();
            }
        }

        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            Toast.makeText(ContestActivity.this, "Error:" + description, Toast.LENGTH_SHORT).show();

        }
    });
    webView.loadUrl(url);
}