разделение перечисления через намерение - PullRequest
0 голосов
/ 05 марта 2020

У меня проблема с выделением типа enum через намерение, проблема с этой строкой. intent.getParcelableArrayListExtra и ошибка

недостаточно информации для вывода информации для переменной типа T

override fun onCreate(savedInstanceState: Bundle?, persistentState: PersistableBundle?) {
    super.onCreate(savedInstanceState, persistentState)
    setContentView(R.layout.main_activity)

    if (savedInstanceState == null)
        (fragment as DataFragment).setData(intent.getParcelableArrayListExtra(Application.BUNDLE_DATA) as ArrayList<DataEnum>)
}

Enum

@Parcelize
enum class DataEnum : Parcelable {

    Foo { override fun toString() = "Foo" },
    Bar { override fun toString() = "Bar" },
    Baz { override fun toString() = "Baz" };

    companion object {
        private fun list(): ArrayList<DataEnum> {
            return arrayListOf(
                FOO,
                BAR,
                BAZ
            )
        }
    }

}

1 Ответ

0 голосов
/ 06 марта 2020

https://developer.android.com/reference/java/lang/Enum

Enum extends Serializable

, поэтому используйте

Intent.putSerializable и Intent.getSerializable

и его все разберусь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...