第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Android BindingConversion 在 kotlin 中不起作用?

Android BindingConversion 在 kotlin 中不起作用?

胡子哥哥 2023-05-10 15:13:22
我嘗試BindingConversion在 Kotlin 中實現(xiàn) a 但我沒有讓它工作。在 Java 類中嘗試了相同的方法BindingConversion,它似乎有效。也許我只是誤解了它的工作方式,因為我對 Kotlin 還很陌生。我基本上去掉了對我的問題不重要的所有內(nèi)容。.xml 文件中的部分。 <TextView                android:id="@+id/the_item"                android:layout_width="0dp"                android:layout_height="wrap_content"                android:layout_marginStart="8dp"                android:layout_marginEnd="8dp"android:text="@{ch.labrat.anima.utilities.Conv.valueFromPosition(item.gender)}"/>科特林版本。object Conv {    fun valueFromPosition(position:Int):String {        return "Test"    }}Java 版本。public class Conv {    @BindingConversion    public static String valueFromPosition(Integer position){        return "Test";    }}在嘗試添加@BindingConversion到 Kotlin 版本中的方法時,出現(xiàn)未使用靜態(tài)方法的錯誤。出色地。我只是不明白。也許有人可以啟發(fā)我?
查看完整描述

1 回答

?
幕布斯7119047

TA貢獻1794條經(jīng)驗 獲得超8個贊

基本上,當您在 Kotlin 中創(chuàng)建對象聲明并在該對象中放置一些字段/方法時,它的行為類似于 static?(在 Kotlin 中訪問時)代碼,但它不是 static

這意味著您可以使用該對象聲明名稱直接訪問它(伴隨對象也是如此)。

因此,在執(zhí)行數(shù)據(jù)綁定時,生成的類是 Java 格式,現(xiàn)在它試圖從 xml 訪問您的對象聲明,但它不能,因為它沒有靜態(tài)限定符。

因此,注釋使用標記方法/字段被JVM@JvmStatic編譯為靜態(tài)。因此,現(xiàn)在 Java 代碼在從 Kotlin 代碼訪問它時將其解釋為靜態(tài)的。

查看完整回答
反對 回復 2023-05-10
  • 1 回答
  • 0 關注
  • 177 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號