Аргумент типа находится за его пределами. Ожидается: найдено: найдено: строка - PullRequest
2 голосов
/ 27 апреля 2020

Я создаю обобщенный c, абстрактный класс, подобный этому:

abstract class BaseDialogFragment<T: Parcelable> : DialogFragment()

Попытка реализовать этот класс как

class MyDialogFragment : BaseDialogFragment<String>()

дает мне

Type argument is not within its bounds Expected: Parcelable Found: String

для строки в BaseDialogFragment<String>().

Итак, как я могу использовать String в качестве значения для T? Является ли мое состояние T: Parcelable каким-то неправильным, если я хочу, чтобы T был типом посылки?

1 Ответ

2 голосов
/ 27 апреля 2020

Итак, как я могу использовать String в качестве значения для T?

Вы не можете. String не Parcelable, потому что Parcel уже знает, как обрабатывать String. Точно так же вы не можете использовать ByteArray для T, или Int, или Boolean.

...