-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathActivityUsingAutoDroidRecyclerView.kt
More file actions
61 lines (51 loc) · 2.29 KB
/
Copy pathActivityUsingAutoDroidRecyclerView.kt
File metadata and controls
61 lines (51 loc) · 2.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package com.josesamuel.sampleapp
import android.app.Activity
import android.os.Bundle
import android.support.v7.widget.LinearLayoutManager
import android.support.v7.widget.RecyclerView
import android.util.Log
import autodroid.annotations.recyclerview.AutoRecyclerViewAdapter
import kotlinx.coroutines.experimental.launch
import pager.ListDataProvider
import pager.Pager
import java.util.*
import kotlin.math.log
/**
* A sample activity that uses RecyclerView with AutoDroid generated adapter
*/
class ActivityUsingAutoDroidRecyclerView : Activity() {
private val random = Random()
private val listDataProvider = ListDataProvider(listOf(MyData("A", "B", R.drawable.ic_action_name)))
private val drawables = arrayOf(R.drawable.ic_action_name, R.drawable.ic_action_name2,
R.drawable.ic_action_name3,
R.drawable.ic_action_name4,
R.drawable.ic_action_name5,
R.drawable.ic_action_name6)
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
findViewById<RecyclerView>(R.id.recyclerView).apply {
layoutManager = LinearLayoutManager(this@ActivityUsingAutoDroidRecyclerView)
adapter = MyDataAdapter(Pager(listDataProvider)).apply {
setOnClickListener { viewId, position ->
launch {
when (viewId) {
R.id.button1 -> {
listDataProvider.add(random.nextInt(listDataProvider.size), MyData(random.nextInt(100).toString(), random.nextInt(100).toString(), drawables[random.nextInt(drawables.size)]))
}
R.id.button2 -> listDataProvider.removeAt(random.nextInt(listDataProvider.size))
}
}
}
viewHolderCreatedListener = ::onViewHolderCreated
viewHolderBindListener = ::onViewHolderBound
}
}
}
private fun onViewHolderCreated(viewHolder: MyDataViewHolder) {
Log.v("Test", "View Holder created $viewHolder")
}
private fun onViewHolderBound(viewHolder: MyDataViewHolder, data: MyData) {
Log.v("Test", "View Holder bound $viewHolder $data")
}
}