我有一个片段,我在其中定义了一个 NavHostFragment,如下所示:
<fragment
android:id="@+id/shipping_host_nav"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:navGraph="@navigation/shipping_nav_graph"
app:defaultNavHost="true"/>
Run Code Online (Sandbox Code Playgroud)
当试图在片段中调用 findNavController 方法时,它抛出了一个非法状态异常,并说我的视图组没有 NavController。
java.lang.IllegalStateException: View androidx.core.widget.NestedScrollView{1dd5506 VFED..... ......I. 0,0-0,0} does not have a NavController set
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:我可以在另一个片段中定义一个 NavHostFragment 吗?还是只适合活动? 我已经搜索了很多找到我可以在另一个片段中定义一个导航主机片段,但我没有找到任何答案。
android android-navigation android-architecture-navigation android-navigation-graph
我有一个 gitlab ci 工作,它为我做了一些工作,但它取决于另一个仓库,所以我需要在这个工作中克隆另一个仓库。我无法使用 https 克隆,因为 gitlab 会询问我的用户名和密码,而 gitlab ci 是非交互式的。
那么如何在 gitlab ci 作业中使用 https 克隆 gitlab repo。
提前致谢。