Skip to content

Commit b0d7c76

Browse files
Merge pull request #19 from l2hyunwoo/feature/interface_to_functional_interface
✨ Refactor OnRefreshlistener to Kotlin Functional Interface
2 parents d7580dd + 279fd26 commit b0d7c76

File tree

3 files changed

+23
-27
lines changed

3 files changed

+23
-27
lines changed

README.md

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -78,20 +78,18 @@ dependencies {
7878
```
7979
3. Set OnRefreshListener on SSPullToRefreshLayout and you are good to go 👍
8080
```kotlin
81-
ssPullRefresh.setOnRefreshListener(object : SSPullToRefreshLayout.OnRefreshListener {
82-
override fun onRefresh() {
83-
CoroutineScope(Dispatchers.Main).launch {
84-
delay(2000)
85-
ssPullRefresh.setRefreshing(false) // This stops refreshing
86-
mAdapter.randomizeData()
87-
Toast.makeText(
88-
this@MainActivity,
89-
"Refresh Complete",
90-
Toast.LENGTH_SHORT
91-
).show()
92-
}
81+
ssPullRefresh.setOnRefreshListener {
82+
CoroutineScope(Dispatchers.Main).launch {
83+
delay(2000)
84+
ssPullRefresh.setRefreshing(false) // This stops refreshing
85+
mAdapter.randomizeData()
86+
Toast.makeText(
87+
this@MainActivity,
88+
"Refresh Complete",
89+
Toast.LENGTH_SHORT
90+
).show()
9391
}
94-
})
92+
}
9593
```
9694

9795
# To customize SSPullToRefreshLayout:

app/src/main/java/com/simform/demo/MainActivity.kt

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,20 +27,18 @@ class MainActivity : AppCompatActivity() {
2727
with(mBinding) {
2828
setUpRecyclerView()
2929
// set setOnRefreshListener on pull refresh view
30-
ssPullRefresh.setOnRefreshListener(object : SSPullToRefreshLayout.OnRefreshListener {
31-
override fun onRefresh() {
32-
CoroutineScope(Dispatchers.Main).launch {
33-
delay(2000)
34-
ssPullRefresh.setRefreshing(false) // This stops refreshing
35-
mAdapter.randomizeData()
36-
Toast.makeText(
37-
this@MainActivity,
38-
"Refresh Complete",
39-
Toast.LENGTH_SHORT
40-
).show()
41-
}
30+
ssPullRefresh.setOnRefreshListener {
31+
CoroutineScope(Dispatchers.Main).launch {
32+
delay(2000)
33+
ssPullRefresh.setRefreshing(false) // This stops refreshing
34+
mAdapter.randomizeData()
35+
Toast.makeText(
36+
this@MainActivity,
37+
"Refresh Complete",
38+
Toast.LENGTH_SHORT
39+
).show()
4240
}
43-
})
41+
}
4442

4543
// set height and width of refresh view
4644
ssPullRefresh.setRefreshViewParams(

sspulltorefresh/src/main/java/com/simform/refresh/SSPullToRefreshLayout.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1086,7 +1086,7 @@ class SSPullToRefreshLayout(context: Context?, attrs: AttributeSet? = null) :
10861086
mOnRefreshListener = listener
10871087
}
10881088

1089-
interface OnRefreshListener {
1089+
fun interface OnRefreshListener {
10901090
fun onRefresh()
10911091
}
10921092

0 commit comments

Comments
 (0)