以下代碼是來自Kotlin示例項目,我想我總是可以寫sampleVideoView? = findViewById<VideoView>(R.id.videoView)
,對不對?我可以寫sampleVideoView嗎? =在Kotlin的findViewById <VideoView>(R.id.videoView)?
而更
代碼sampleVideoView?.setVideoURI(Uri.parse(HLS_STREAMING_SAMPLE))
是等價與if (sampleVideoView!=null){sampleVideoView.setVideoURI(Uri.parse(HLS_STREAMING_SAMPLE))}
,對不對?
class MainActivity : AppCompatActivity(){
private var sampleVideoView: VideoView? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
sampleVideoView = findViewById<VideoView>(R.id.videoView)
sampleVideoView?.setVideoURI(Uri.parse(HLS_STREAMING_SAMPLE))
...
謝謝!但我可以寫私人變量sampleVideoView:VideoView? = null,爲什麼我不能寫sampleVideoView? = findViewById(R.id.videoView) – HelloCW
由於'VideoView?'是變量'sampleVideoView'的類型,因此'?'是有效的,並且表示該變量可以是「null」,但不能後綴一個帶'?'的變量名,根本沒有這個語法。只要做'sampleVideoView = findViewById(R.id.videoView)' – s1m0nw1