6

我刚刚将平台从 windows 更改为 mac,当我尝试构建我的应用程序时,我收到以下消息:

Unresolved reference. None of the following candidates is applicable because of receiver type mismatch:
public fun `Activity;`.findNavController(viewId: Int): `NavController;` defined in androidx.navigation
public fun `View;`.findNavController(): `NavController;` defined in androidx.navigation

错误在该行:

bSettingsLogout.findNavController().navigate(R.id.authenticationActivity)

在 Windows 上,我使用了较旧的 3.3 canary 版本,但在开发人员网站上,导航组件没有任何变化。

我不确定它是 Mac 还是 Android Studio canary 6 错误。

任何帮助,将不胜感激!

4

2 回答 2

3

findNavController: 有两种实现
public static NavController findNavController (View view)
public static NavController findNavController (Activity activity, int viewId)
但你使用

findNavController()  

你缺少所需的参数

于 2018-08-21T09:06:10.460 回答
2

是的,这似乎是最新版本的 Android Studio Canary 的一个错误。至少,回滚到以前的 Canary 版本为我解决了这个问题

我正在运行 Windows,所以这不是 Mac 问题

于 2018-08-21T09:56:58.330 回答