Kotlin for Android Developers


Download 1.04 Mb.
Pdf ko'rish
bet19/79
Sana18.06.2023
Hajmi1.04 Mb.
#1588404
1   ...   15   16   17   18   19   20   21   22   ...   79
Bog'liq
Kotlin for Android Developers Learn Kotlin the Easy Way While Developing an Android App ( PDFDrive )

Object instantiation
Object instantiation presents some differences from Java too. As you can see, we omit
the “
new
” word. The constructor call is still there, but we save four precious characters.
LinearLayoutManager(this)
creates an instance of the object.
5.2 The Recycler Adapter
We need an adapter for the recycler too. I
talked about
RecyclerView
on my blog¹³
some time ago,
so it may help you if your are not used to it.
The views used for
RecyclerView
adapter will be just
TextView
s for now, and a simple list of texts
that we’ll create manually. Add a new Kotlin file called
ForecastListAdapter.kt
, and include this
code:
1
class ForecastListAdapter(val items: List) :
2
RecyclerView.Adapter() {
3
4
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int):
5
ViewHolder {
6
return ViewHolder(TextView(parent.context))
7
}
8
9
override fun onBindViewHolder(holder: ViewHolder,
10
position: Int) {
11
holder.textView.text = items[position]
12
}
13
14
override fun getItemCount(): Int = items.size
15
16
class ViewHolder(val textView: TextView) : RecyclerView.ViewHolder(textView)
17
}
Again, we can access to the context and the text as properties. You can keep doing it as usual (using
getters and setter), but you’ll get a warning from the compiler. This check can be disabled if you
prefer to keep using the Java way. Once you get used to properties you will love them anyway.
¹³
http://antonioleiva.com/recyclerview/


5 Writing your first class
21
Default visibility is
public
Unless some visibility modifier is applied, classes, functions or properties are
public
by
default. You can write it, but the compiler will show a warning, as it is not required.
Back to the
MainActivity
, now just create the list of strings and then assign the adapter:
1
private val items = listOf(
2
"Mon 6/23 - Sunny - 31/17",
3
"Tue 6/24 - Foggy - 21/8",
4
"Wed 6/25 - Cloudy - 22/17",
5
"Thurs 6/26 - Rainy - 18/11",
6
"Fri 6/27 - Foggy - 21/10",
7
"Sat 6/28 - TRAPPED IN WEATHERSTATION - 23/18",
8
"Sun 6/29 - Sunny - 20/7"
9
)
10
11
override fun onCreate(savedInstanceState: Bundle?) {
12
...
13
val forecastList = findViewById(R.id.forecast_list) as RecyclerView
14
forecastList.layoutManager = LinearLayoutManager(this)
15

Download 1.04 Mb.

Do'stlaringiz bilan baham:
1   ...   15   16   17   18   19   20   21   22   ...   79




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling