Skip to content

Commit ae6c81a

Browse files
committed
Update click listener
1 parent f3da2e0 commit ae6c81a

File tree

7 files changed

+22
-6
lines changed

7 files changed

+22
-6
lines changed

app/src/main/java/com/example/datasourceadapter/screens/TestDataSource.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,13 @@ import com.novemio.datasourceadapter.item.RecyclerItem
99
*/
1010
class TestDataSource(map: Map<String, ItemRenderer<out RecyclerItem>>) : RecyclerDataSource(map) {
1111

12-
}
12+
13+
14+
override var clickListener: ((RecyclerItem) -> Unit)? =:: onItemClick
15+
16+
private fun onItemClick(item:RecyclerItem) {
17+
18+
19+
20+
21+
}

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ buildscript {
1111

1212
}
1313
dependencies {
14-
classpath 'com.android.tools.build:gradle:3.3.2'
14+
classpath 'com.android.tools.build:gradle:3.4.2'
1515
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
1616
classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:$navigationVersion"
1717

datasourceadapter/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
apply plugin: 'com.android.library'
22
apply plugin: 'kotlin-android'
33

4-
ext.libVersionName = "0.3.2"
4+
ext.libVersionName = "0.3.3"
55
android {
66
compileSdkVersion 28
77

datasourceadapter/src/main/java/com/novemio/datasourceadapter/adapter/RecyclerAdapter.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.novemio.datasourceadapter.adapter
22

33
import android.view.ViewGroup
44
import androidx.recyclerview.widget.RecyclerView
5+
import com.novemio.datasourceadapter.item.RecyclerItem
56

67
/**
78
* Created by novemio on 4/11/19.
@@ -12,6 +13,7 @@ class RecyclerAdapter(
1213
) : RecyclerView.Adapter<RecyclerViewHolder>() {
1314

1415

16+
1517
init {
1618
recyclerDataSource.attachAdapter(this)
1719
setHasStableIds(true)
@@ -23,6 +25,9 @@ class RecyclerAdapter(
2325

2426
override fun onBindViewHolder(holder: RecyclerViewHolder, position: Int) {
2527
holder.bind(recyclerDataSource.getItem(position))
28+
holder.itemView.setOnClickListener {
29+
recyclerDataSource.clickListener?.invoke(recyclerDataSource.getItem(position))
30+
}
2631
}
2732

2833
override fun getItemCount(): Int {

datasourceadapter/src/main/java/com/novemio/datasourceadapter/adapter/RecyclerDataSource.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ open class RecyclerDataSource(
1616
protected val renderers: Map<String, ItemRenderer<out RecyclerItem>>
1717
) {
1818

19+
20+
open var clickListener: ((RecyclerItem) -> Unit)? = null
1921
protected var recyclerReference: WeakReference<RecyclerAdapter>? = null
2022

2123
protected val viewTypeToRenderKeyMap = HashMap<Int, String>()

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# http://www.gradle.org/docs/current/userguide/build_environment.html
77
# Specifies the JVM arguments used for the daemon process.
88
# The setting is particularly useful for tweaking memory settings.
9-
org.gradle.jvmargs=-Xmx1536m
9+
org.gradle.jvmargs="-Xmx2048m
1010
# When configured, Gradle will run in incubating parallel mode.
1111
# This option should only be used with decoupled projects. More details, visit
1212
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Fri Apr 12 16:51:26 CEST 2019
1+
#Mon Jul 29 08:02:06 CEST 2019
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

0 commit comments

Comments
 (0)