Kotlinは、Id操作View、Adapter、およびXmlファイルを動的にロードすることによっても同様に操作できます.

1927 ワード

kotlin、butterknifeバインドを使用する場合、Xutil注釈は必要なく、idだけでviewを操作できるので便利ですが、使用中に記録に値する2つの問題に遭遇しました.
  • adapterにおいてidにより動作
  • .
  • 動的ロードレイアウトについてidにより
  • を操作する.
    実は両者は本質的に同じで、すべてviewを通じてIdにアクセスして操作して、具体的にkotlinによってコードをバインドして一歩一歩解析してまずidで操作したいと思って、私達のbuildeファイルはExtensionsの配置を加えます
    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'

    そして楽しく使えます
    Activityとfragmentは直接このようにアクセスできます.
    <Switch
         android:id="@+id/main_sw_packet"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_marginTop="4dp" />

    idによるリスニングの設定:
    main_sw_packet?.setOnCheckedChangeListener(this)

    このように自動的にパッケージすることができます
    import kotlinx.android.synthetic.Xml   >.*

    adapterは次のように操作します.
    インポートするパッケージのパス:
    import kotlinx.android.synthetic.Xml   >.view.*

    ViewIdによるアクセス:
    holder.itemView.money_tv_name?.text = entity.name

    holder.itemViewは、adapterの各データviewを動的にロードするview操作を表します.
    インポートするパッケージはAdapterと似ています.直接view.idは操作できます例えば私のところでは:
    nav_view?.getHeaderView(0)?.main_tv_username?.text = userName

    nav_view?.getHeaderView(0)親Viewを取得すると、後でidで楽しく操作できるようになります.