This course will be retired on July 14, 2025.
Heads up! To view this whole video, sign in with your Courses account or enroll in your free 7-day trial. Sign In Enroll
Well done!
You have completed Kotlin and Anko!
You have completed Kotlin and Anko!
Preview
In this video we'll learn about how we can use Kotlin Android Extensions to do away with the 'findViewById' method!
Plugin Code
apply plugin: ‘kotlin-android-extensions'
Related Links
Project Files
Related Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign upRelated Discussions
Have questions about this video? Start a discussion with the community and Treehouse staff.
Sign up
We just learned about Anko and
0:00
how we can use it to entirely
replace our XML layouts.
0:02
But before we can create any layouts,
we need to create a project.
0:05
So let's start a new Android Studio
project and name it Solitaire.
0:09
Then let's accept all the defaults,
and even
0:16
though we won't be using any XML, let's
let it generate a layout file for now.
0:21
Nice, now we need to set
up our project with Kotlin.
0:32
To do this we first need
to have the Kotlin plugin.
0:35
So let's go up here to Android Studio, and
pick Preferences, or Settings if you're on
0:39
Windows and then choose Plugins and
let's search for Kotlin.
0:43
Then click Browse,
pick the Kotlin plugin and hit Install.
0:52
And once that's done we'll need to
restart Android Studio, so let's do that.
0:57
And once we're back with our code,
let's click inside MainActivity and
1:05
then go up to the Code tab and
choose Convert Java File to Kotlin File.
1:09
Then, once we sync the project,
1:16
we get a little notification letting
us know that Kotlin is unconfigured.
1:20
So let's click the Configure link,
pick Android with Gradle and then hit OK.
1:24
And now Android Studio has made some small
changes to both of our build.gradle files
1:33
to support Kotlin.
1:38
So let's sync our project one more time,
and we're ready to move on to Anko.
1:40
But before we do, there's something
else we need to talk about first, and
1:46
that is Kotlin Android extensions.
1:49
Kotlin Android extensions is just another
way around that pesky findViewByID method.
1:52
It's kind of like Butter Knife but better.
1:58
To see how we can use these extensions,
let's quickly make a counting app
2:01
with a textView to show the count,
and a button to increment the count.
2:05
Let's head over to our layout,
And start with the textView.
2:10
First let's give our textView
an ID of counterTextView.
2:24
Then lets set the starting text to 0,
2:35
and the textSize to 24sp.
2:41
And since we're not really concerned
with the layout, let's leave it at that.
2:46
Next let's create a button
element below our textView,
2:50
and set its width and
height to wrap_content as well.
2:55
Then let's give it an ID of counterButton.
3:02
And then since this is a relative layout,
let's add the layout below property.
3:10
And set it equal to @idcounterTextview.
3:20
All right, that does it for the lab.
3:24
Now let's head over to our
app's build.gradle file and
3:27
at the top, let's apply
the Kotlin Android extensions plug-in.
3:30
It's in the teacher's notes as well.
3:35
Then let's sync the project, and get back
to MainActivity to make the magic happen.
3:46
Let's add a space below setContentView,
and
3:53
then let's start typing our button's ID.
3:56
And once we've got it, let's hit
Enter to add the import statement.
4:03
And that's it,
we've already got access to our button and
4:07
we barely even did anything.
4:11
Thanks to the Kotlin Android extensions,
we can just import our views and
4:14
start using them right away.
4:18
So now that we've got our button,
let's add an onClick listener,
4:20
.setOnClickListener.
4:23
And another cool thing about Kotlin is
that instead of the regular process for
4:27
creating an onClickListener we
can take advantage of lambdas
4:31
to save us from all that typing.
4:35
Inside the onClickListener, we need
to increment our counter by one, and
4:37
then update the textView.
4:41
So first, let's create a var for
our counter and set it equal to 0.
4:43
Then inside the OnClickListener,
let's increment our counter by one,
4:52
counter++.
4:56
And then set counterTextView.text
5:00
= counter.toString.
5:07
Now, let's run the app and
see what happens.
5:12
And just like we expected,
we've got a TextView and a button.
5:16
And when we click on the button,
the number goes up, awesome!
5:20
Kotlin Android extensions take
a lot of the headache out of
5:26
dealing with our views.
5:28
And there are great tool
to have in your tool belt.
5:29
But now that we've got that covered,
5:32
let's get back on track to create
an app without XML layouts using Anko.
5:33
You need to sign up for Treehouse in order to download course files.
Sign upYou need to sign up for Treehouse in order to set up Workspace
Sign up