首页 > 解决方案 > progressBar.setVisibility(View.GONE); 有没有人请告诉我在停止加载后我可以在哪里使用 Progressbar

问题描述

我是 Java Android 开发的新手,我正在尝试开发一些东西,但我必须使用 WebView 中的进度条,但我不知道如何在完成加载后使用代码停止进度条。

    private ProgressBar progressBar;

   mhelp = (LinearLayout) root.findViewById(R.id.lythelp);
                mhelp.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        progressBar.setVisibility(View.VISIBLE);
                        Intent intent = new Intent(getActivity(), Help.class);
                        startActivity(intent);
progressBar.setVisibility(View.GONE);


                    }
                });

标签: javascriptandroidprogress-bar

解决方案


开始新活动后,不应设置 progressBar 可见性。您可以做的最简单的事情是使用标志变量来保存进度条的状态。

startActivity(intent);
progressBar.setVisibility(View.GONE); // should be avoided

解决方案:

private ProgressBar progressBar;
String progressBarState = "empty"
String PROGRESS_BAR_LOADING = "LOADING"
String PROGRESS_BAR_LOADED = "LOADED"

mhelp = (LinearLayout) root.findViewById(R.id.lythelp);

mhelp.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(PROGRESS_BAR_LOADING == "LOADING")
  progressBar.setVisibility(View.VISIBLE);

  Intent intent = new Intent(getActivity(), Help.class);
  startActivity(intent);
}

HelpActivity 内部(或任何你想开始的活动):

override onCreate(): void {
  /*
  * You will need a progress bar on this activity's view 
  * as well if you are transitioning between activities and
  * want to maintain the progress.
  */

  progressBar.setVisibility(View.GONE);

  /*
  * You can pass the progress between the activities by
  * passing the completion rate through the bundle that is
  * sent through the activities.
  * You can also add a  key value pair for the progress bar's
  * current state in that bundle and check for that state in the
  * onCreate.
  */
}

推荐阅读