我有一个简单的应用程序,其中包含一个活动和大约 4 个片段。我正在使用 android 导航组件。每次更改片段时,从我的飞溅片段开始到下一个片段, OnCreateview 和 onViewCreated 被调用两次,一次是最初创建片段时,第二次是我使用findnavController.navigate(). 我不知道为什么它会被调用两次,任何人都可以说明原因。这是我的飞溅课。
class SplashFragment : Fragment(), SocketConnection.SocketCallbacks {
lateinit var binding: SplashFragmentBinding
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
Timber.d("on View created")
SocketConnection.getInstance.socketConnectionListener(this)
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
Timber.d("on create view")
binding = DataBindingUtil.inflate(inflater, R.layout.fragment_splash, container, false)
return binding.root
}
override fun onResume() {
super.onResume()
Timber.d("On resume")
activity?.setupBackButton(false)
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Timber.d("On create")
setHasOptionsMenu(false)
}
override …Run Code Online (Sandbox Code Playgroud) android android-architecture-navigation android-navigation-graph