【问题标题】:ProgessBar is not visible,what is wrong and how to manage itProgressBar 不可见,有什么问题以及如何管理它
【发布时间】:2016-03-18 10:36:04
【问题描述】:

进度条有什么问题,它没有显示出来。我正在处理它。我已经在其中实现了以下代码。

  1. 检查互联网连接
  2. 添加了进度条,但在 Webview 中加载网页时不显示
  3. 做任何修改有什么问题
  4. 我在主线程上做了很多工作。

这是我的代码:

public class MainActivity extends AppCompatActivity {

WebView myWebView;
ConnectivityManager connectivityManager;
AlertDialog alertDialog;
AlertDialog.Builder builder;
ProgressBar pgbar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    connectivityManager=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
    builder=new AlertDialog.Builder(this);

    if(connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI).isConnectedOrConnecting()
            || connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).isConnectedOrConnecting())
    {
        myWebView=new WebView(this);
        myWebView.getSettings().setJavaScriptEnabled(true);
        final Activity activity=this;

        myWebView.setWebViewClient(new WebViewClient() {
            @Override
            public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {

                Toast.makeText(activity, description, Toast.LENGTH_LONG).show();
            }
        });

        pgbar=(ProgressBar)findViewById(R.id.progressBar);
        pgbar.setMax(100);
        myWebView.loadUrl("http://www.google.co.in");
        MainActivity.this.pgbar.setProgress(0);
        setContentView(myWebView);
    }
    else {
        builder.setMessage("No Internet connection available.Would you like to connect ?");

        builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {

                finish();
                startActivity(new Intent(Settings.ACTION_WIFI_SETTINGS));
            }
        });

        builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                builder.setMessage("So you want to exit");

                builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        finish();
                    }
                });

                builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        finish();
                        dialog.dismiss();
                    }
                });

                alertDialog = builder.create();
                alertDialog.show();
            }
        });
        alertDialog=builder.create();
        alertDialog.show();
    }
}

private class MyWebViewClient extends WebChromeClient{

        @Override
        public void onProgressChanged(WebView view, int newProgress) {
            MainActivity.this.setValue(newProgress);
            super.onProgressChanged(view, newProgress);
        }
    }

    public void setValue(int progress) {
        this.pgbar.setProgress(progress);
    }
}

【问题讨论】:

标签: android progress-bar


【解决方案1】:

您正在将 webview 设置为活动的内容视图。 setContentView(myWebView);

【讨论】:

  • 那么我需要做些什么改变
  • 发布您的布局 xml
  • 布局只包含进度条和webview xml编码
  • 然后去掉这行代码 setContentView(myWebView);也替换这一行 myWebView=new WebView(this); with myWebView = (WebView) findViewById(R.id.webviewid);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-15
  • 2019-10-14
  • 1970-01-01
  • 2015-04-27
  • 1970-01-01
  • 1970-01-01
  • 2011-10-08
相关资源
最近更新 更多