簡體   English   中英

如何在 Flutter 中為 Android 設置初始路由?

[英]How do I set the initialRoute for Android in Flutter?

我想告訴我的應用程序從 MainActivity 的 onCreate 方法中的確定路線開始,如下所示:

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    GeneratedPluginRegistrant.registerWith(this)
    flutterView.setInitialRoute("anotherRoute") // <-- no result
}

但它沒有給出任何結果,dart 端仍然接收標准的“/”作為window.defaultRouteName

如果我在調用 super 之前設置它,它會給我 NullPointer:

override fun onCreate(savedInstanceState: Bundle?) {
    flutterView.setInitialRoute("anotherRoute") // <-- NullPointer
    super.onCreate(savedInstanceState)
    GeneratedPluginRegistrant.registerWith(this)
}

您需要覆蓋createFlutterView方法

  override fun createFlutterView(context: Context): FlutterView {
    val matchParent = WindowManager.LayoutParams(-1, -1)
    val view = FlutterView(this, null as AttributeSet?, this.createFlutterNativeView())
    view.setInitialRoute("/route2")
    view.layoutParams = matchParent

    this.setContentView(view)
    return view
  }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM