AutocompleteTextView Не отображаются предложения при отображении внутри BottomSheetDialogFragmentAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 AutocompleteTextView Не отображаются предложения при отображении внутри BottomSheetDialogFragment

Сообщение Anonymous »

Я реализовал AutocomplteTextView внутри BottomSheetDialogFragment.
Ниже приведен мой XML-файл для макета нижнего листа Ниже приведен мой класс DialogFragment

Код: Выделить всё

interface OrgUserFilterCallback { fun onOrgSelected(org: String) fun onUserSelected(user: String) fun onApplyChanges() fun onUpdateFilter() }

class BottomOrgUserFilter( initialOrgList: List, initialUserList: List, private val filterCallback: OrgUserFilterCallback? = null, private val context: Context ) : BottomSheetDialogFragment() {
private lateinit var binding: LayoutBottomsheetGeofenceLandingBinding
private var orgList: List = initialOrgList.map { it.name }
private var userList: List  = initialUserList.map { it.name }

companion object {
const val TAG = "BottomOrgUserFilter"
}

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
dialog?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)
}

override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
binding = LayoutBottomsheetGeofenceLandingBinding.inflate(inflater, container, false)
return binding.root
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val bottomSheetBehavior = BottomSheetBehavior.from(view.parent as View)
bottomSheetBehavior.state = BottomSheetBehavior.STATE_EXPANDED
bottomSheetBehavior.peekHeight = resources.displayMetrics.heightPixels

setupDropdowns()
setupListeners()
}

private fun setupListeners() {
binding.orgListFilterEdt.setOnItemClickListener { _, _, position, _ ->
filterCallback?.onOrgSelected(orgList[position])
}

binding.userListFilterEdt.setOnItemClickListener { _, _, position, _ ->
filterCallback?.onUserSelected(userList[position])
}

binding.cvApplyChanges.setOnClickListener {
filterCallback?.onApplyChanges()
dismiss()
}

binding.tvUpdateFilter.setOnClickListener {
filterCallback?.onUpdateFilter()
}
}

private fun setupDropdowns() {
val orgAdapter = ArrayAdapter(context, android.R.layout.simple_dropdown_item_1line, orgList)
binding.orgListFilterEdt.apply {
threshold = 0
setAdapter(orgAdapter)
}

val userAdapter = ArrayAdapter(context, android.R.layout.simple_dropdown_item_1line, userList)
binding.userListFilterEdt.apply {
threshold = 0
setAdapter(userAdapter)
}
}

fun setOrgList(newOrgList: List) {
if (isAdded) {
orgList = newOrgList
val orgAdapter = ArrayAdapter(context, android.R.layout.simple_dropdown_item_1line, orgList)
binding.orgListFilterEdt.setAdapter(orgAdapter)
orgAdapter.notifyDatasetChanged()
notifyAll()
}
}

fun setUserList(newUserList: List) {
if (isAdded) {
userList = newUserList
val userAdapter = ArrayAdapter(context, android.R.layout.simple_dropdown_item_1line, userList)
binding.userListFilterEdt.setAdapter(userAdapter)
userAdapter.notifyDatasetChanged()
binding.userListFilterEdt.isEnabled = true

}
}
Я не могу устранить причину проблемы.
Я пробовал внести все изменения, представленные в Интернете, но не добился успешного результата.< /p>
Я работал над внесением изменений в макет и родительский макет, но обходного пути все еще не было.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/791 ... tomsheetdi
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»