Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 能见度不高';不要在Android Studio中立即设置_Java_Android_Visibility - Fatal编程技术网

Java 能见度不高';不要在Android Studio中立即设置

Java 能见度不高';不要在Android Studio中立即设置,java,android,visibility,Java,Android,Visibility,在Java中设置ImageView的可见性时,只显示结果,而不显示视图的中间状态。结果很好,但在开始和结束之间,进度条不可见 我已经尝试在UI线程上运行代码(从代码中可以看出)。这不会改变任何事情 Reconnect是一个ImageButton,单击它时应隐藏ImageView连接状态,显示名为Connection的进度条,sleep 1s,然后再次隐藏进度条/显示ImageView Reconnect.setOnClickListener(new View.OnClickListener()

在Java中设置ImageView的可见性时,只显示结果,而不显示视图的中间状态。结果很好,但在开始和结束之间,进度条不可见

我已经尝试在UI线程上运行代码(从代码中可以看出)。这不会改变任何事情

Reconnect是一个ImageButton,单击它时应隐藏ImageView连接状态,显示名为Connection的进度条,sleep 1s,然后再次隐藏进度条/显示ImageView

Reconnect.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            runOnUiThread(new Runnable() {
                @Override
                public void run() {

                    ConnectionStatus.setVisibility(View.INVISIBLE);
                    Connecting.setVisibility(View.VISIBLE);
                    try {
                        Thread.sleep(1000);
                    }
                    catch(InterruptedException e){}
                    Connecting.setVisibility(View.INVISIBLE);
                  ConnectionStatus.setImageResource(R.drawable.ic_baseline_check_24px);
                    ConnectionStatus.setVisibility(View.VISIBLE);

                }
            });

        }
    });
Thread.sleep()
阻止当前线程。UI线程无法处理任何事件,例如在视图的可见性更改后重新绘制视图

您可以使用
Handler
postDelayed()
发布
Runnable
以在以后执行,而不阻止线程执行其他内容。所有
视图
类都附带一个现成的
处理程序
,因此您只需在其中一个
视图
上调用
postDelayed()