Android中ViewBinding遇到的坑

目前,谷歌在 Android Studio 3.6 Canary 11 及更高版本中加入了新的視圖綁定方式ViewBinding。

ViewBinding 使用:

1在所使用的的module下添加(確保Android studio爲3.6以上版本)

android {
    ..
    viewBinding {
        enabled = true
    }
}

如果在使用的過程中開發者不想爲某個佈局文件生成binding類在佈局中可以添加

<androidx.constraintlayout.widget.ConstraintLayout
  …………
      tools:viewBindingIgnore="true" >
  …………
</androidx.constraintlayout.widget.ConstraintLayout>

編譯次module 生成ViewBinding 輔助類

使用方法:

public class MainActivity extends AppCompatActivity  {
    private static final String TAG = "Test";
    private  ActivityMainBinding mainBinding ;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mainBinding = ActivityMainBinding.inflate(LayoutInflater.from(this));
        setContentView(mainBinding.getRoot());

        mainBinding.button.setText("我是ViewBinding獲取的Button");
        mainBinding.showBtn.setText("My name is guoguo ");
}
}

OK 介紹完了使用方法來說說我目前遇到的坑:

1.第一次編譯module生成了ActivityMainBinding  但是在運行時報錯告訴我找不到ActivityMainBinding 類,汗!

後來我把佈局文件所有控件都加了id後解決了,奇葩現在不明白爲什麼?(持續會復現,今天重複了幾次竟然沒有復現)

2. 是Button控件set英文自動轉大寫,

參考:https://blog.csdn.net/u014309440/article/details/51426462

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