这个java代码中的timerSeekBar是什么对象或变量?什么是findViewById,

What is timerSeekBar in this java code an object or variable?What is findViewById,

我检查过 findViewById 是一个方法所以什么是 timerSeekBar,一个对象或一个 variable,被告知它是一个变量但我们正在用它调用方法所以它应该'不是 object.Please 解释为什么我们在 findViewById.

之前写 SeekBar
SeekBar -Class,findViewById- Method ?,timerSeekBar- variable or object?

SeekBar timerSeekBar = (SeekBar)findViewById(R.id.timerSeekBar);

timerSeekBar.setMax(600);
timerSeekBar.setProgress(30);

另一个例子-

TextView answerLabel = (TextView) findViewById(R.id.button1);

方法 findViewById return 是 class 的一个实例,它实际用于在您的 XML 文件中定义该视图。 (Seekbar) 用于将该视图投射到特定视图。

您必须将那个(findViewById) 强制转换为您在使用变量时定义的class。 所以,这就是

的原因
SeekBar timerSeekBar = (SeekBar)findViewById(R.id.timerSeekBar);

从 API 26 开始,findViewById 对其 return 类型使用推理,因此您不再需要强制转换。

请检查以下参考资料 link: https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/widget/SeekBar.java

https://android.googlesource.com/platform/frameworks/base.git/+/android-4.2.1_r1/core/java/android/widget/AbsSeekBar.java

https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/widget/ProgressBar.java

ProgressBar 是超级 class,AbsSeekbar 是 Progressbar 的子 class,SeekBar 是 AbsSeekbar 的子class。

setMax()是Seekbar的方法,setProgress()是Progressbar的方法。

SeekBar 是一个小部件。它在文件 SeekBar.java 中定义。本质上它是 android 中的 View。 Seekbar 最终扩展了基础 class View.javafindViewById() 方法用于在 android 中查找 view,使用 setId() 方法为 view 设置了特定的 id。 我们使用 SeekBar timerSeekBar = (SeekBar)findViewById(R.id.timerSeekBar); 来告诉系统我们正在使用 findViewById() 方法寻找视图,然后将基础 View.class 类型的对象转换为 subclass SeekBar.class 类型对象。 (SeekBar)用来告诉系统这个viewSeekBar的一个实例。