Как отключить индикатор выполнения Android после загрузки приложения и состояния экземпляра, не равного NULL - PullRequest
0 голосов
/ 16 января 2019

У меня есть приложение для веб-просмотра, которое по какой-то причине я хочу отключить индикатор выполнения после загрузки приложения, я не хочу, чтобы индикатор выполнения снова работал onProgressChanged, если приложение savedInstanceState не равно null.

То, что я пытаюсь сказать, это то, что при использовании нажмите на приложение, если запускается индикатор выполнения, будет видно, но тогда USE_PROGRESS изменится на false. У меня есть только один URL-адрес для загрузки, и когда я нажимаю на элемент, когда-то появляется пользовательский индикатор выполнения, появляется мой пользовательский индикатор выполнения html и css, а также отображается собственный индикатор выполнения Android, который придает странице странный вид.

Если я полностью удаляю собственный прогресс Android, когда приложение запускается, оно сначала покажет пустую белую страницу перед загрузкой моего URL, поэтому мне нужна только собственная индикатор выполнения.

public class MainActivity extends AppCompatActivity {
  private boolean USE_PROGRESS = false;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activitymain);
     webview = findViewById(R.id.AppId);
     progressbar = findViewById(R.id.progressBar)
     if (savedInstanceState != null) {
         USE_PROGRESS = false;
         webview.restoreState(savedInstanceState);
      }else{
         webview.setWebViewClient(new MainActivity.MyWebViewClient());
         webview.setWebChromeClient(new MainActivity.UriWebChromeClient());
         webview.loadUrl("https://example.com/app");
      }
  }

 private class UriWebChromeClient extends WebChromeClient {
  public void onProgressChanged(WebView view, int progress) {
    if (USE_PROGRESS) {
       if (progress == 100) {
           webview.setVisibility(View.VISIBLE);
           progressbar.setVisibility(View.GONE);
       } else {
           progressbar.setVisibility(View.VISIBLE);
           webview.setVisibility(View.GONE);
       }
     }
   }
 }
}
...