AndroidはView Bindingの詳細な手順を使用しています。(Kotlin簡易版)


View Bindingは何ですか?
2020年3月にジャイアントJakeWhatonが開源したブットrknifeは官宣でメンテナンス停止され、ギthubで説明されました。
Attention:This tool is now deprecated.Please switch to view binding.Existing versions will conntue to work,oviousy,but only fixes for integration with AGP will be consideded.Feature ders figlove。
メンテナンスしないで、View Bindingを使うことをお勧めしますが、View Bindingは何ですか?
公式サイトでは、こう紹介されています。
ビューバインディング機能により、ビューと対話できるコードをより簡単に作成できます。モジュールでビューバインディングを有効にすると、システムはこのモジュールのXMLレイアウトファイルごとにバインディングクラスを作成します。バインディングクラスの例は、それぞれのレイアウトにIDを有するすべてのビューの直接参照を含む。ほとんどの場合、ビューバインディングはfindView ByIdの代わりになる。
簡単に言えばviewを探すために使います。
View Bindingは何の効果がありますか?
先ほど話したのですが、彼はfindView ByIdを交替するためです。はい、そうです。それでは元々のfindViewByIdです。何か問題がありますか?彼の代わりに何をしますか?
以下のいくつかの理由をまとめました。
  • 過剰冗長性
  • findView ByIdはすべてのViewに対応して、以下のfindView ById(R.id.xxx)を書く方法が必要です。
  • 安全ではない
  • 安全でないということは二つに分けることです。  まず、空のタイプの安全ではなく、findView ByIdです。  またnullに戻る可能性があります。プログラムが異常です。
    第二に、強い回転の不安定性、findView ById。対応するIDを対応するViewに強く変換する必要があります。
    
    TextView tv = findViewById(R.id.textview);
    私のタイプが間違ったら異常が発生します。例えばtextviewをImageViewに強く変えます。
    本文の開始
    最近、Kotlinを勉強していますが、Googleはすでにkotlin-android-extensionsプラグインを廃棄していることが分かりました。今はView Bindingを使って代替することを勧めています。
    View Bindingの目的:findView ByIdの作成を避ける。
    View Bindingを使う前の注意事項:
    1、あなたのAndroid Studioが3.6以上のバージョンであることを確認します。
    2、build.gradleに以下の構成を入れます。buildFeature s{view Binding true}
    View Bindingを使用するステップ:
    1、まずactivityを呼び出します。main.xmlレイアウトファイルに対応するBindingクラス、すなわちActivityMainBindingのinflate関数がこのレイアウトをロードします。inflate()関数はLayout Inflaterパラメータを受信します。Activityでは直接に入手できます。
    2、続いてBinding類のget Root()関数を呼び出してactivity_を得ることができます。main.xmlの中のルート要素の例
    3、ルート要素の例をset ContentView()関数に伝えて、Activityはactivityを成功的に表示することができます。メイン.xmlというレイアウトの内容です。
    話は多くないです。次はコード部分です。
    1、build.gradleに参加する:buildFeature s{view Binding true}
    在这里插入图片描述
    在这里插入图片描述
    2、View Bindingを使うActivityを開き、コードを次のように変更します。
    在这里插入图片描述
    ここで注意したいのは、他のActivityでbindingを使うなら(例えば、私の現在のktファイルはLoginaActivity.ktといいます。コードは以下の通りです。
    
    class MainActivity : AppCompatActivity() {
    
        private lateinit var binding: ActivityLoginBinding
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            binding = ActivityLoginBinding.inflate(layoutInflater)
            setContentView(binding.root)
    
            binding.webView
        }
    }
    3、このときはbinding.コントロールid名で呼び出すことができます。
    在这里插入图片描述
    ここではAndroidについて、View Binding(Kotlin簡易版)を使った記事を紹介します。Androidに関してはView Bindingを使っています。以前の記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。