Java 如果您试图隐藏已隐藏的组件,该怎么办?
我认为这是一件非常基本的事情,但我仍然不确定会发生什么 例如,我有一个SeekBar,当我开始更改它的值时,我希望一个TextView被隐藏,但是如果它已经被隐藏并且我试图隐藏它,会发生什么呢?这行代码会被跳过还是会被执行 例如,这样做是否更明智Java 如果您试图隐藏已隐藏的组件,该怎么办?,java,android,android-studio,Java,Android,Android Studio,我认为这是一件非常基本的事情,但我仍然不确定会发生什么 例如,我有一个SeekBar,当我开始更改它的值时,我希望一个TextView被隐藏,但是如果它已经被隐藏并且我试图隐藏它,会发生什么呢?这行代码会被跳过还是会被执行 例如,这样做是否更明智 public void onStartTrackingTouch(SeekBar seekBar) { if (textView.getVisibility() == View.VISIBLE){
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
invokesetFlags
,这就是神奇发生的地方
源代码:
因此,您应该使用:
public void onStartTrackingTouch(SeekBar seekBar) {
textView.setVisibility(View.GONE);
}
您不需要关心是否可见,
setVisibility
方法本身就可以做到这一点,所以如果它已经隐藏了,就不会发生任何事情。如果您对View
如何处理这个问题感到好奇,您可以查看源代码:)setviability
invokesetFlags
,这就是神奇发生的地方
源代码:
因此,您应该使用:
public void onStartTrackingTouch(SeekBar seekBar) {
textView.setVisibility(View.GONE);
}