Android Jetpack 使用Navigation時出現XXX.XXXX must implement OnFragmentInteractionListener解決方法

在使用最新的Jetpack時,用Navigation來導航到不同的fragment時出現了這個問題,百度了一下,發現jetpack實在是太新了,很多問題都還沒有解決方式,畢竟2019年才逐步完善的東西,現在年初遇到問題至少在國內很難在網上有解答,o(╥﹏╥)o也許這就是一直用最新的東西的難處吧。算了,還是自己研究…

先還原一下問題:

我要實現圖中藍色線的跳轉:在這裏插入圖片描述
下面是跳轉代碼:
在這裏插入圖片描述
結果報錯:
在這裏插入圖片描述
從錯誤可以看出要我們實現OnFragmentInteractionListener這個東西,不過很明顯我們使用jetpack的navigation不會low到這種地步讓我們手動完成這些操作的,弄了一晚上終於發現問題所在:

出現這個錯誤的原因應該是Android studio創建fragment時自動生成關於fragment中的方法,其中onAttach()這個方法和navigation衝突了。所以我們只要在創建fragment禁止它自動生成這些方法即可

解決:
創建fragment時,取消這個兩個勾選即可:
在這裏插入圖片描述
如果你已經創建過fragment,可以把fragment先刪了,再次創建一個同名的,同時將Create layout XML也取消勾選即可。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章