Kotlin Fragment 按钮跳转报错解决:Unresolved reference ‘floatingActionButton‘

报错场景

在使用Kotlin开发时,为了实现从listfragment通过一个按钮跳转到addfragment时,按照教程

复制代码
class ListFragment : Fragment() {

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        val view = inflater.inflate(R.layout.fragment_list, container, false)

   
        view.floatingActionButton.setOnClickListener{
            findNavController().navigate(R.id.action_listFragment_to_addFragment)
        }
        return view
    }

然而报错,> Task :app:compileDebugKotlin e: file:///D:/android_projects/ToDoApp/app/src/main/java/com/example/todoapp/ListFragment.kt:20:14 Unresolved reference 'floatingActionButton'. > Task :app:compileDebugKotlin FAILED。

报错原因:在 Fragment 中直接通过 view.floatingActionButton 获取控件失败 ------Kotlin 不会自动为布局中的控件生成 "直接引用"(需配合 viewBinding 或 findViewById 显式绑定),所以编译器找不到 floatingActionButton 这个变量。

解决方法:

使用 findViewById(无需配置,快速临时解决)

复制代码
class ListFragment : Fragment() {

    override fun onCreateView(
        inflater: LayoutInflater, container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        // Inflate the layout for this fragment
        val view = inflater.inflate(R.layout.fragment_list, container, false)

        val fab = view.findViewById<FloatingActionButton>(R.id.floatingActionButton)
        fab.setOnClickListener {
            findNavController().navigate(R.id.action_listFragment_to_addFragment)
        }
        return view
    }
}

根据提示

复制代码
import com.google.android.material.floatingactionbutton.FloatingActionButton

完成,此时点击按钮实现fragment跳转。

相关推荐
我是人✓35 分钟前
SpringMVC异常处理与拦截器实战揭秘
java·开发语言·后端
不是万能的豆学长1 小时前
排查Go服务40天后的内存泄漏问题
开发语言·后端·golang·go
码匠许师傅1 小时前
【C++三方组件】libpqxx:PostgreSQL 的 C++ 客户端
开发语言·c++·postgresql
H.莓飛1 小时前
【C++】内存管理
linux·开发语言·jvm·c++·visual studio
tachibana21 小时前
Go 语言 Map 的底层实现原理
开发语言·后端·golang·make
白帽攻防录1 小时前
SRC 挖洞:Android 蓝牙预认证 RCE 深度复盘,CVE-2026-55330 怎么在蓝牙范围内零交互攻破手机
android·网络安全·智能手机·src漏洞挖掘
心仪久了会沦陷1 小时前
C语言数据结构入门——队列补充:循环队列的数组实现
c语言·开发语言·数据结构·笔记
vilya1 小时前
手机端 Agent 是怎么跑起来的:决策循环、四道护栏、两条红线
android·agent
2501_915921431 小时前
详细教程:使用Perfdog工具测量iOS应用的功耗性能与优化方法
android·macos·ios·小程序·uni-app·cocoa·iphone
源图客2 小时前
Python环境安装与PyCharm的第一个项目
开发语言·python·pycharm