Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
Linhome-Android
Commits
a1afb74e
Commit
a1afb74e
authored
Dec 08, 2020
by
Christophe Deschamps
Browse files
Highlight selected value in dropdown widgets
parent
7edd6b81
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
2 deletions
+10
-2
app/src/main/java/org/linhome/ui/widgets/LSpinner.kt
app/src/main/java/org/linhome/ui/widgets/LSpinner.kt
+2
-1
app/src/main/java/org/linhome/ui/widgets/LSpinnerAdapter.kt
app/src/main/java/org/linhome/ui/widgets/LSpinnerAdapter.kt
+8
-1
No files found.
app/src/main/java/org/linhome/ui/widgets/LSpinner.kt
View file @
a1afb74e
...
@@ -72,7 +72,7 @@ class LSpinner : LinearLayout {
...
@@ -72,7 +72,7 @@ class LSpinner : LinearLayout {
var
items
:
ArrayList
<
SpinnerItem
>?
=
null
var
items
:
ArrayList
<
SpinnerItem
>?
=
null
set
(
value
)
{
set
(
value
)
{
binding
.
root
.
spinner
.
adapter
=
value
?.
let
{
LSpinnerAdapter
(
it
,
binding
.
root
.
spinner
,
this
)
}
binding
.
root
.
spinner
.
adapter
=
value
?.
let
{
LSpinnerAdapter
(
it
,
binding
.
root
.
spinner
,
this
,
null
)
}
}
}
...
@@ -93,6 +93,7 @@ class LSpinner : LinearLayout {
...
@@ -93,6 +93,7 @@ class LSpinner : LinearLayout {
set
(
value
)
{
set
(
value
)
{
if
(
value
!=
null
)
{
if
(
value
!=
null
)
{
binding
.
root
.
spinner
.
setSelection
(
value
)
binding
.
root
.
spinner
.
setSelection
(
value
)
(
binding
.
root
.
spinner
.
adapter
as
LSpinnerAdapter
).
selectedIndex
=
value
}
}
}
}
...
...
app/src/main/java/org/linhome/ui/widgets/LSpinnerAdapter.kt
View file @
a1afb74e
...
@@ -41,7 +41,7 @@ import org.linhome.databinding.ItemSpinnerBinding
...
@@ -41,7 +41,7 @@ import org.linhome.databinding.ItemSpinnerBinding
import
org.linhome.utils.cdlog
import
org.linhome.utils.cdlog
class
SpinnerItem
(
val
textKey
:
String
,
val
iconFile
:
String
?
=
null
,
val
backingKey
:
String
?
=
null
)
class
SpinnerItem
(
val
textKey
:
String
,
val
iconFile
:
String
?
=
null
,
val
backingKey
:
String
?
=
null
)
class
LSpinnerAdapter
(
private
val
options
:
ArrayList
<
SpinnerItem
>,
val
spinner
:
Spinner
,
val
lSpinner
:
LSpinner
)
:
class
LSpinnerAdapter
(
private
val
options
:
ArrayList
<
SpinnerItem
>,
val
spinner
:
Spinner
,
val
lSpinner
:
LSpinner
,
var
selectedIndex
:
Int
?
)
:
SpinnerAdapter
{
SpinnerAdapter
{
var
height
:
Int
?
=
null
var
height
:
Int
?
=
null
...
@@ -114,6 +114,13 @@ class LSpinnerAdapter(private val options: ArrayList<SpinnerItem>, val spinner:
...
@@ -114,6 +114,13 @@ class LSpinnerAdapter(private val options: ArrayList<SpinnerItem>, val spinner:
view
.
visibility
=
View
.
VISIBLE
view
.
visibility
=
View
.
VISIBLE
}
}
if
(
lSpinner
.
opened
&&
position
==
selectedIndex
)
{
view
.
background
=
Theme
.
roundRectInputBackgroundWithColorKeyAndRadius
(
"color_i"
,
"user_input_corner_radius"
)
}
return
view
return
view
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment