【问题标题】:Hide ProgressBar widget隐藏进度条小部件
【发布时间】:2021-07-27 13:00:15
【问题描述】:

我使用 Intent 从我的 MainActivity 启动一个 Activity1。 Activity1 需要相当长的时间来加载(可能是广告),所以为了让用户放心我的应用程序没有崩溃,我在线性布局 id 加载中显示了一个 Circular ProgressBar。为此,我在按钮的 onClick 事件中将加载的可见性设置为可见。 从 Activity1 回来,我将可见性设置为 Invisible,如下所示:

 ActivityResultLauncher<Intent> resultLaunch = registerForActivityResult(
        new ActivityResultContracts.StartActivityForResult(),
        result -> {
            if(result.getResultCode()==111){
                assert result.getData() != null;
                String data= result.getData().getStringExtra("from");
                if(data.equals("activity1")) {
                    loading.setVisibility(View.INVISIBLE);// back from Activity1 switch-off 
loading
                    
                }
            } 

这很好用,但如果用户点击手机的后退按钮,进度条将永远保持可见。 我试图在 MainActivity 的 onResume() 中设置可见性,但它不起作用。 我宁愿避免设置计时器。有什么帮助吗?

【问题讨论】:

    标签: android progress-bar


    【解决方案1】:
    @Override
    public void onResume(){
        super.onResume();
        loading.setVisibility(View.INVISIBLE);// back from Activity1 switch-off loading
    }
    

    事实证明我工作得很好

    【讨论】:

      【解决方案2】:

      发生这种情况是因为结果代码不等于 111。将 111 更改为 Result.Sucess 它将正常工作。如果你还想在数据为空的情况下隐藏进度条,请添加 else 语句并将进度条的可见性设置为去那里。

      【讨论】: