Pasar de kotlin a Java
Publicado por Alberto (2 intervenciones) el 22/11/2021 01:29:40
Hola buenas, me podrian ayudar a pasar un pedazo de codigo de Kotlin a Java, por favor
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package com.example.GoogleCalendar
import android.content.Context
import android.util.AttributeSet
import android.view.MotionEvent
import android.view.View
import androidx.core.view.ViewCompat
class MyRecyclerView @JvmOverloads constructor(context: Context, attrs: AttributeSet? = null, defStyle: Int = 0) : androidx.recyclerview.widget.RecyclerView(context, attrs, defStyle) {
private var mAppBarTracking: AppBarTracking? = null
private var mView: View? = null
private var mTopPos: Int = 0
private var lastev: Float = 0f;
private var current: Int = 0
private var mLayoutManager: androidx.recyclerview.widget.LinearLayoutManager? = null
interface AppBarTracking {
fun isAppBarIdle(): Boolean
fun isAppBarExpanded(): Boolean
fun isAppBarClosed(): Boolean
fun appbaroffset(): Int
}
override fun dispatchTouchEvent(ev: MotionEvent?): Boolean {
if (ev!!.action == MotionEvent.ACTION_MOVE) {
} else {
if (mAppBarTracking!!.isAppBarExpanded())
current = mLayoutManager!!.findFirstVisibleItemPosition();
}
return super.dispatchTouchEvent(ev);
}
override fun dispatchNestedPreScroll(dx: Int, dy: Int, consumed: IntArray?, offsetInWindow: IntArray?, type: Int): Boolean {
if (type == ViewCompat.TYPE_NON_TOUCH && mAppBarTracking!!.isAppBarIdle()
&& isNestedScrollingEnabled) {
if (dy > 0) {
if (mAppBarTracking!!.isAppBarExpanded()) {
consumed!![1] = dy
return true
}
} else {
mView = mLayoutManager!!.findViewByPosition(mAppBarTracking!!.appbaroffset())
if (mView != null) {
consumed!![1] = dy - mView!!.top + MainActivity.topspace
}
return true
}
}
if (dy < 0 && type == ViewCompat.TYPE_TOUCH && mAppBarTracking!!.isAppBarExpanded()) {
consumed!![1] = dy
return true
}
val returnValue = super.dispatchNestedPreScroll(dx, dy, consumed, offsetInWindow, type)
if (offsetInWindow != null && !isNestedScrollingEnabled && offsetInWindow[1] != 0) {
offsetInWindow[1] = 0
}
return returnValue
}
override fun setLayoutManager(layout: LayoutManager?) {
super.setLayoutManager(layout)
mLayoutManager = layoutManager as androidx.recyclerview.widget.LinearLayoutManager
}
fun setAppBarTracking(appBarTracking: AppBarTracking) {
mAppBarTracking = appBarTracking
}
}
Valora esta pregunta


-1