我试图在片段之间导航,但是当我在onViewCreated内的主机片段(登录片段)中尝试view.findNavController时,我遇到了这个错误:
java.lang.IllegalStateException:View android.widget.ScrollView{f13c4b8 VFED. V..I. 0,0 - 0,0 #7f09011e app:id/login_fragment_container}未设置NavController
这是我在Activity中的片段容器视图。
<androidx.fragment.app.FragmentContainerView
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:defaultNavHost="true"
app:navGraph="@navigation/nav_graph_login"
android:name="com.example.example.fragments.LoginFragment"
/>
字符串
这是LoginFragment.kt
class LoginFragment : Fragment() {
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return inflater.inflate(R.layout.login_fragment, container, false)
}
private lateinit var navController: NavController
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
navController = view.findNavController()
...
型
P.S.我使用ScrollView作为片段的容器,我有两个导航图(用于两个活动),如果相关,我使用闪屏。
我试过使用片段获取导航控制器,但也不起作用。我也试过把scrollview改成linearlayout,但没有任何区别。
1条答案
按热度按时间ifsvaxew1#
我补充道
字符串
到片段容器视图。