Flutter 该碎片未处于保留状态
我正在尝试使用以下步骤在现有Android应用程序中嵌入颤振应用程序: 我在Flutter 该碎片未处于保留状态,flutter,Flutter,我正在尝试使用以下步骤在现有Android应用程序中嵌入颤振应用程序: 我在onCreate方法中将fragment嵌入到我的活动中,但是当我旋转屏幕时,fragment不会保持它的状态 这是主活动代码: class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) if (s
onCreate
方法中将fragment
嵌入到我的活动中,但是当我旋转屏幕时,fragment不会保持它的状态
这是主活动代码:
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()
}
}
}您可能没有正确声明您的活动。
configChanges
对于Flatter使用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"/>
Daniel,你在生产中使用这种技术吗?我担心b/c来自一个页面,上面写着“不要在生产中使用,我们会破坏你”是的,生产。