FlutterFragment не сохраняет состояние - PullRequest
0 голосов
/ 22 октября 2018

Я пытаюсь встроить приложение Flutter в существующее приложение Android, используя следующие шаги: https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps

Я встраиваю FlutterFragment в свою активность в методе onCreate, но когда я поворачиваюНа экране фрагмент не не сохраняет свое состояние.

Это код MainActivity:

class MainActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)

    if (savedInstanceState == null) {
        supportFragmentManager.beginTransaction().also {
            it.replace(android.R.id.content, Flutter.createFragment(null), "flutter")
        }.commit()
    } else {
        val flutterFragment = supportFragmentManager.findFragmentByTag("flutter")
        supportFragmentManager.beginTransaction().also {
            it.attach(flutterFragment!!)
        }.commit()
    }

}

}

1 Ответ

0 голосов
/ 22 октября 2018

Вы, вероятно, неправильно декларируете свою активность.configChanges очень важны для работы Flutter с жизненным циклом Android.

Вы должны объявить его на AndroidManifest следующим образом:

<activity
            android:launchMode="singleTop"
            android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density"
            android:hardwareAccelerated="true"
            android:windowSoftInputMode="adjustResize"
            android:name=".MainActivity"
            android:theme="@style/AppTheme.NoActionBar"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...