Skip to content

Commit 9ccb777

Browse files
committed
Updated ListViewAdapter
1 parent 4eb6966 commit 9ccb777

2 files changed

Lines changed: 84 additions & 13 deletions

File tree

Demo/app/src/main/java/com/pureswift/swiftandroid/ListViewAdapter.kt

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,30 @@ import android.database.DataSetObserver
44
import android.view.View
55
import android.view.ViewGroup
66
import android.widget.ListAdapter
7-
/*
8-
class ListViewAdapter: ListAdapter {
7+
8+
class ListViewAdapter(val swiftObject: SwiftObject): ListAdapter {
99

1010
external override fun getCount(): Int
1111

12+
external override fun isEmpty(): Boolean
13+
14+
external override fun getItem(position: Int): Any?
15+
16+
external override fun getItemId(position: Int): Long
17+
18+
external override fun getItemViewType(position: Int): Int
19+
20+
external override fun getViewTypeCount(): Int
21+
1222
external override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View?
1323

1424
external override fun areAllItemsEnabled(): Boolean
1525

1626
external override fun isEnabled(position: Int): Boolean
1727

18-
override fun registerDataSetObserver(observer: DataSetObserver?) {
19-
20-
}
28+
external override fun registerDataSetObserver(observer: DataSetObserver?)
2129

22-
override fun unregisterDataSetObserver(observer: DataSetObserver?) {
23-
TODO("Not yet implemented")
24-
}
30+
external override fun unregisterDataSetObserver(observer: DataSetObserver?)
2531

26-
override fun getItem(position: Int): Any? {
27-
TODO("Not yet implemented")
28-
}
29-
}*/
32+
external override fun hasStableIds(): Boolean
33+
}

Sources/AndroidSwiftUI/ListViewAdapter.swift

Lines changed: 68 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,74 @@ import AndroidKit
1212
open class ListViewAdapter: JavaObject {
1313

1414
@JavaMethod
15-
@_nonoverride public convenience init(environment: JNIEnvironment? = nil)
15+
@_nonoverride public convenience init(swiftObject: SwiftObject!, environment: JNIEnvironment? = nil)
16+
17+
@JavaMethod
18+
func getContext() -> SwiftObject!
19+
}
20+
21+
@JavaImplementation("com.pureswift.swiftandroid.ListViewAdapter")
22+
extension ListViewAdapter {
23+
24+
@JavaMethod
25+
func hasStableIds() -> Bool {
26+
true
27+
}
28+
29+
@JavaMethod
30+
func isEmpty() -> Bool {
31+
true
32+
}
33+
34+
@JavaMethod
35+
func getCount() -> Int32 {
36+
0
37+
}
38+
39+
@JavaMethod
40+
func getItem(position: Int32) -> JavaObject? {
41+
nil
42+
}
43+
44+
@JavaMethod
45+
func getItemId(position: Int32) -> Int64 {
46+
0
47+
}
48+
49+
@JavaMethod
50+
func getItemViewType(position: Int32) -> Int32 {
51+
0
52+
}
53+
54+
@JavaMethod
55+
func getViewTypeCount() -> Int32 {
56+
1
57+
}
58+
59+
@JavaMethod
60+
func getView(position: Int32, convertView: AndroidView.View?, parent: ViewGroup?) -> AndroidView.View? {
61+
nil
62+
}
63+
64+
@JavaMethod
65+
func areAllItemsEnabled() -> Bool {
66+
true
67+
}
68+
69+
@JavaMethod
70+
func isEnabled(position: Int32) -> Bool {
71+
true
72+
}
73+
74+
@JavaMethod
75+
func registerDataSetObserver(observer: JavaObject?) {
76+
77+
}
78+
79+
@JavaMethod
80+
func unregisterDataSetObserver(observer: JavaObject?) {
81+
82+
}
1683
}
1784

1885
extension ListViewAdapter {

0 commit comments

Comments
 (0)