Your First Kotlin Android App · Adding a Countdown Timer |

This is a companion discussion topic for the original entry at

This part of the tutorial was very confusing. You are willing to go through a lot of the code piece by piece for us, which was really a selling point for me. I am not an experienced programmer, and what little experience I do have is more in Python than Java and Kotlin.

But in this part, you fly through the code without speaking and I have to struggle to figure out what you are doing–and more importantly, why you are doing it. I have loved the rest of the tutorial. This video, though, doesn’t seem to match up to the quality of the rest so far.


I completely agree. The pace and explanation of things were excellent up until this point. Not quite sure why he did it this why for this one

@prometheus @benayesu Please let us know what you don’t understand exactly when you get a chance. Thank you!

Like others have mentioned already, I came here to say the same. I very much appreciate all the effort you guys put into this, but in some videos I did feel that he rushes through the code without explaining much.

I also noticed at 01:39, he says “a countdown object named countDownTimer”, I think the correction would be “a countdowntimer object named countDownTimer”. Then at 02:02, “the countdown value …” should be “the initialCountDown value …”.

Again, not being disrespectful, I love this site and all your hard work, just want to help make it better.

I have to agree, this section just jumps to lots of code without a line-by-line dissection. Several things such as onTick and countDownTimer (is this a basic function in the codebase) etc is introduced without being discussed.

@kodekraft @nsoltani Thank you for your feedback - much appreciated! :]

In the code above there is concept of inner anonymous class, the way countDownTimer is instantiated using the object keyword is not mentioned. The object keyword is confusing everybody.
why it is there?
why there is a colon after object keyword.
Why not directly instantiate the countdowntimer object like regular class, why use inner anonymous class. These are high level concepts which are introduced in the very beginning without any explanation, Hence the code went above my head

I totally agree. I have a little challenge on this part too as my “override fun” keeps turning red, I got a lot of errors too and I can’t seem to figure out how to bypass them.

… the error message says " modifier " override is not applicable to local function