代码之家  ›  专栏  ›  技术社区  ›  dev90

如何将进度对话框设置为介于两者之间的最大值

  •  -1
  • dev90  · 技术社区  · 7 年前

    若我早些时候收到服务器的响应,我希望将进度填充到 100% ,然后将其禁用。

    这是我的代码,但它不会将进度条填充到100%。

      progressBar.setProgress(100);
      progressBar.cancel();
      progressBarLayout.setVisibility(View.GONE)
    

    我有一个单独的布局 progress dialog progressBar to 100 . 这可能就是它无法呈现进度对话框的原因。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Nikos Hidalgo farhad mohammadi    7 年前

    您的代码将其填充到100%,但会立即使其消失,因此您看不到它。尝试添加代码,在一个runnable(只有在从服务器得到确认后才会启动)中,将您的条形图变为不可见

    Runnable r = new Runnable() {
            @Override
            public void run() {
                progressBarLayout.setVisibility(View.GONE)
            }
        }
    

    然后为ypur runnable创建一个处理程序:

    Handler handler = new Handler();
    

    handler.postDelayed(r, 2000); //here it waits for 2 seconds (2000 mills)
    
        2
  •  2
  •   Ivan    7 年前

    这里可能有一个问题:

    setMax 方法。因此,如果使用 progressBar.setProgress(1);

    如果您希望始终完全填充,可以使用以下方法:

    progressBar.setProgress(progressBar.getMax());
    

    我不确定你是否应该在UIThread中更改它,因为你正在触摸UI,我建议你检查一下。

    希望这有帮助。