Java 如果您试图隐藏已隐藏的组件,该怎么办?

Java 如果您试图隐藏已隐藏的组件,该怎么办?,java,android,android-studio,Java,Android,Android Studio,我认为这是一件非常基本的事情,但我仍然不确定会发生什么 例如,我有一个SeekBar,当我开始更改它的值时,我希望一个TextView被隐藏,但是如果它已经被隐藏并且我试图隐藏它,会发生什么呢?这行代码会被跳过还是会被执行 例如,这样做是否更明智 public void onStartTrackingTouch(SeekBar seekBar) { if (textView.getVisibility() == View.VISIBLE){

我认为这是一件非常基本的事情,但我仍然不确定会发生什么

例如,我有一个SeekBar,当我开始更改它的值时,我希望一个TextView被隐藏,但是如果它已经被隐藏并且我试图隐藏它,会发生什么呢?这行代码会被跳过还是会被执行

例如,这样做是否更明智

public void onStartTrackingTouch(SeekBar seekBar) {
            if (textView.getVisibility() == View.VISIBLE){
                textView.setVisibility(View.GONE);
            }
        }
还是这样做更好

public void onStartTrackingTouch(SeekBar seekBar) {
            textView.setVisibility(View.GONE);
        }

我知道上述代码的结果是相同的,但我想做一个好的实践

如果它们都做相同的事情,我会选择没有If语句的代码,因为我个人喜欢更干净的代码。但是从函数的小程度来看,你觉得它更容易阅读。

如果它们都做相同的事情,我会选择没有If语句的函数,因为我个人喜欢更干净的代码。但是从函数的大小来看,你觉得它更容易阅读。

你不需要关心它是否可见,
setVisibility
方法本身就可以做到这一点,所以如果它已经隐藏了,什么也不会发生。如果您对
View
如何处理这个问题感到好奇,您可以查看源代码:)
setviability
invoke
setFlags
,这就是神奇发生的地方

源代码:

因此,您应该使用:

public void onStartTrackingTouch(SeekBar seekBar) {
    textView.setVisibility(View.GONE);
}

您不需要关心是否可见,
setVisibility
方法本身就可以做到这一点,所以如果它已经隐藏了,就不会发生任何事情。如果您对
View
如何处理这个问题感到好奇,您可以查看源代码:)
setviability
invoke
setFlags
,这就是神奇发生的地方

源代码:

因此,您应该使用:

public void onStartTrackingTouch(SeekBar seekBar) {
    textView.setVisibility(View.GONE);
}