package com.example.myquizapp
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log
import android.widget.ProgressBar
import android.widget.TextView
here is my code
class QuizActivity : AppCompatActivity() {
private var progressBar : ProgressBar?= null
private var tvProgress : TextView? = null
override fun onCreate(savedInstanceState: Bundle?) {
progressBar = findViewById(R.id.progressBar)
on hover R.id.progressBar I get :public static final int progressBar = 1000004
tvProgress = findViewById(R.id.tv_progress)
// public static final int tv_progress = 100000
//on hover progressBar I get : private final var progressBar: ProgressBar?
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_quiz)
var currentPosition = 1
progressBar?.progress=currentPosition
tvProgress?.text="${currentPosition}/${progressBar?.max}"
Log.e("currentPosition" "${currentPosition}) // 1
Log.e("ProgressBar", "${progressBar}") // null, getting null value on logcat
Log.e("TvOrogress", "${tvProgress}")// null, getting null value on logcat
Log.e("tvProgress",${tvProgress?.text.toString} // null
}
}
Move the findViewById()
calls after setContentView()
.
setContentView()
inflates the view hierarchy and adds it to the activity. findViewById()
looks up view in the activity view hierarchy, and it is empty before setContentView()
so findViewById()
returns null.