Проблема с ArrayAdapter spiner
Написал такой код:
import android.widget.ArrayAdapter
//Блок кода//
val values : Array<String> = arrayOf("USD", "UAH", "GBD", "EUR", "BIT", "RUB")
val adapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, values)
Однако IDE выдаёт ошибку
None of the following functions can be called with the arguments supplied.
<init>(Context, Int, Array<(out) TypeVariable(T)!>)
where T = TypeVariable(T) for
constructor ArrayAdapter<T : Any!>(context: Context, resource: Int, objects: Array<(out) T!>) defined in android.widget.ArrayAdapter
<init>(Context, Int, Int)
where T = TypeVariable(T) for
constructor ArrayAdapter<T : Any!>(context: Context, resource: Int, textViewResourceId: Int) defined in android.widget.ArrayAdapter
<init>(Context, Int, (Mutable)List<TypeVariable(T)!>)
where T = TypeVariable(T) for
constructor ArrayAdapter<T : Any!>(context: Context, resource: Int, objects: (Mutable)List<T!>) defined in android.widget.ArrayAdapter Alt+Shift+Enter Alt+Enter
Можете подсказать в чём тут дело.
Ответы (1 шт):
Автор решения: Sergei Buvaka
→ Ссылка
Если у вас HomeFragment является this, то вам необходимо это заменить на requireActivity() или requireContext().
Fragment в отличии от активити не наследуется от класса Context, а значит не может быть передан в аргументы в качестве контекста. Приведенные выше 2 метода как раз дают возможность получить контекст внутри любого Fragment-а