Skip to content

Commit 23bd581

Browse files
author
breensmbaka
committed
Request focus on the texfield explicitly
1 parent ab0dd77 commit 23bd581

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

searchable-dropdown/src/main/java/com/kanyidev/searchable_dropdown/SearchableExpandedDropDownMenu.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@ import androidx.compose.runtime.setValue
4646
import androidx.compose.ui.Alignment
4747
import androidx.compose.ui.ExperimentalComposeUiApi
4848
import androidx.compose.ui.Modifier
49+
import androidx.compose.ui.focus.FocusRequester
50+
import androidx.compose.ui.focus.focusRequester
4951
import androidx.compose.ui.graphics.vector.ImageVector
5052
import androidx.compose.ui.platform.LocalDensity
5153
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
@@ -99,6 +101,7 @@ fun <T> SearchableExpandedDropDownMenu(
99101
var expanded by remember { mutableStateOf(false) }
100102
var filteredItems = mutableListOf<T>()
101103
val keyboardController = LocalSoftwareKeyboardController.current
104+
val focusRequester = remember { FocusRequester() }
102105
val itemHeights = remember { mutableStateMapOf<Int, Int>() }
103106
val baseHeight = 530.dp
104107
val density = LocalDensity.current
@@ -150,6 +153,7 @@ fun <T> SearchableExpandedDropDownMenu(
150153
},
151154
) {
152155
if (expanded) {
156+
focusRequester.requestFocus()
153157
Icon(
154158
imageVector = openedIcon,
155159
contentDescription = null,
@@ -190,7 +194,8 @@ fun <T> SearchableExpandedDropDownMenu(
190194
OutlinedTextField(
191195
modifier = modifier
192196
.fillMaxWidth()
193-
.padding(16.dp),
197+
.padding(16.dp)
198+
.focusRequester(focusRequester),
194199
value = searchedOption,
195200
onValueChange = { selectedSport ->
196201
searchedOption = selectedSport
@@ -210,7 +215,7 @@ fun <T> SearchableExpandedDropDownMenu(
210215
interactionSource = remember { MutableInteractionSource() }
211216
.also { interactionSource ->
212217
LaunchedEffect(interactionSource) {
213-
keyboardController?.show()
218+
focusRequester.requestFocus()
214219
interactionSource.interactions.collect {
215220
if (it is PressInteraction.Release) {
216221
onSearchTextFieldClicked()

0 commit comments

Comments
 (0)