記一次關於使用dataBinding的兩個編譯問題(import xxx.xxx.ActivityxxxBindingImpl) (couldn't make a guess from)


關於命名規范

  • 包名開頭需要小寫,類名開頭需要大寫

正常寫Activity時,可以沒有要求的很嚴格,但是像類似包含了dataBinding的類和包都必須要規范書寫,所以盡量在創建時需要進行規范命名

規定死的,強制規范命名的,類似 layout文件在創建時就不能大寫

 

項目實現的功能:用databinding實現簡單的 點擊一次Button,textview 顯示數值+1

寫完運行時,同一個項目竟出現兩個導致同一報錯問題的錯誤

 

報錯:

錯誤1:綁定在了錯誤的屬性中

先把錯誤點列出來:

 

@{()->data.add()}

這句應該是寫在onClick里面的,但是被我粗心寫在了Button下的text里 粗心導致了我的第一個錯誤

 

運行時報錯如下:有點顯示不全

 

CSDN上找到的類似的錯誤:對應我沒顯示全的內容,順便有了解決過程

圖片來源:DataBinding找不到符號,import xxx.xxx.ActivityxxxBindingImpl

其中小圖:

 

沒錯我就是大佬說的綁定屬性項出現了問題

因為沒有具體的報紅,大佬給出的解決方法是:

點擊一下build中 Found data binding error(s): 右側就是具體報錯的原因

 

找到問題: 我的項目因為只寫了一個類,就兩個控件,很快就找到是xml中Button的問題

 

解決:

 


 

錯誤2:包名、類名不規范導致的問題

同樣的,先寫出問題所在:

是包名和類名都是不規范的命名,正確的應該是包名小寫,類名大寫

 

運行時錯誤如下:

這里根據報錯信息去度娘上面找解決方法的時候,一直以為是下面這里的問題,因為這類問題,一般是xml文件這部分的書寫錯誤

<data>
    <variable
        name="data"
        type="com.example.study_test.Six.mViewModel" />
</data>

但是對照了下type和所寫的自定義類名字一樣,位置信息也是對的,排除了寫錯的問題

 

在CSDN上找到了一篇databingding包名不能大寫?的文章,點進去一看也是我這個問題,但是文章只強調了包名需要大寫,然后將我的包名Six改成了six,一運行,還是不行

 

又找了很久找到了一篇老外的類似錯誤求助文章,看到他評論里的問題回答,不光是包名,綁定數據的類名也有要求,然后問了下身邊的大佬,說這個是默認的規范,原來是我從一開始學的時候就沒有注意規范這方面的問題

包名小寫,類名大寫,都改了之后,運行,蕪湖~解決

 

總結:還是要在學習階段規范書寫,很重要


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM