日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

kotlin学习笔记——Kotlin Android Extensions

發布時間:2024/4/15 Android 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kotlin学习笔记——Kotlin Android Extensions 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Kotlin Android Extensions是另外一個團隊開發的,它是一個插件所以不需要依賴別的庫。當前僅僅包含view的綁定,會自動創建很多屬性讓我們直接訪問xml中的view,我們就不需要明確的去布局中找這些view了。

自動創建的屬性的名字來源于view的id,所以我們取id的時候要十分小心。這些屬性類型也是從xml中獲取的,所以不必再做類型轉換。

Kotlin Android Extensions具有緩存功能,避免每次使用屬性都重新獲取一次。但是緩存功能目前只在activity和fragment中有效,如果在擴展函數中則跳過緩存。

使用Kotlin Android Extensions

一、首先加入插件的依賴,在module中的build.gradle中(注意不是root下的):

buildscript {repositories {jcenter()}dependencies {classpath 'org.jetbrains.kotlin:kotlin-android-extensions:1.1.2-4'} }

二、import進代碼中:

1、activity和fragment的Android Extensions

import kotlinx.android.synthetic.activity_main.*

以kotlinx.android.synthetic開頭,activity_main是layout的名字(注意:新版本前面要加上main,既.main.activity_main.)。

當調用了setContentView之后就可以直接使用自動創建的view的屬性了。注意:如果在layout中使用include,那么必須將include的layout也import進來。

2、view的Android Extensions

有很多代碼需要訪問xml中的view,比如自定義view或者adapter。綁定一個view到另外一個view,這時需要import

如:

import kotlinx.android.synthetic.main.item_view.view.*class RecyclerAdaper(var items: List<String>, var listener: (String) -> Unit) : RecyclerView.Adapter<RecyclerAdaper.ViewHolder>(){override fun onBindViewHolder(holder: ViewHolder, position: Int) {holder.bind(items[position])}override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {return ViewHolder(View.inflate(parent.context, R.layout.item_view, null))}override fun getItemCount(): Int {return items.size}class ViewHolder(view: View) : RecyclerView.ViewHolder(view){fun bind(str: String){itemView.nametext.text = str}}}

注意import進來的不是layout了,而是layout.view,這樣就可以直接使用這個view的子view了。

三、直接在代碼中使用

如:

activity_main.layout

<?xml version="1.0" encoding="utf-8"?> <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"><android.support.v7.widget.RecyclerViewandroid:id="@+id/recyclerview"android:layout_width="match_parent"android:layout_height="match_parent"></android.support.v7.widget.RecyclerView></RelativeLayout>

MainActivity.java

import kotlinx.android.synthetic.main.activity_main.*class MainActivity : Activity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)//var recyclerview = findViewById(R.id.recyclerview) as RecyclerView//var recyclerview: RecyclerView = find(R.id.recyclerview)recyclerview.layoutManager = LinearLayoutManager(this)

可以看到直接使用recyclerview這個變量,不必在使用find代碼,節省了大量的代碼

總結

以上是生活随笔為你收集整理的kotlin学习笔记——Kotlin Android Extensions的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一区二区三区视频在线观看免费 | 一区二区中文字幕在线观看 | 国语播放老妇呻吟对白 | 欧洲精品一区 | 欧美不卡网 | 亚洲第一精品网站 | 亚洲三级图片 | 免费无遮挡无码永久视频 | 青娱乐国产精品 | 337p日本欧洲亚洲大胆张筱雨 | 麻豆亚洲av成人无码久久精品 | 欧美双性人妖o0 | 伊人久久视频 | 国产农村妇女毛片精品 | 天天看片中文字幕 | 午夜国产在线 | 国产精品啪啪啪视频 | 欧美狂猛xxxxx乱大交3 | 五月天婷婷综合 | 亚洲精品乱码久久久久久黑人 | 雨宫琴音一区二区三区 | 噜噜啪啪| 国产麻豆一区二区三区在线观看 | 伊人影院综合在线 | 男女网站视频 | 日本高清免费视频 | 综合激情网五月 | 情侣在线视频 | 亚洲美女一级片 | 丁香六月五月婷婷 | 中文字幕五区 | 丰满熟女人妻一区二区三区 | 欧美性猛交ⅹxxx乱大交3 | 一级特黄aa | 国产爽爽视频 | 国产毛片欧美毛片久久久 | av综合站 | 午夜影院免费在线观看 | 亚洲精品电影 | 韩国伦理在线看 | 国产aⅴ爽av久久久久成人 | 欧美一二区视频 | 天堂精品一区二区三区 | 国产成人精品电影 | 免费黄色在线观看 | 超碰男人的天堂 | 97人人在线视频 | 森泽佳奈在线播放 | 日本va欧美va欧美va精品 | av解说在线 | 2018天天弄| 日本裸体xx少妇18在线 | 黄色国产在线播放 | eeuss鲁片一区二区三区在线观看 | 欧美拍拍视频 | 国产区一区二区 | 狠狠网 | 亚洲色图综合在线 | 国产高潮白浆 | 亚洲少妇毛片 | 亚洲av无码国产精品久久久久 | 日本成人在线播放 | 日韩欧美久久精品 | 少妇被按摩师摸高潮了 | chien国产乱露脸对白 | 国产精品免费在线播放 | 性色av一区二区三区红粉影视 | 99热.com| 天堂资源地址在线 | 97中文字幕 | 亚洲精品久久久久久动漫器材一区 | 国产女主播在线观看 | 日韩在线免费观看av | av首页在线 | 91av国产在线 | 午夜宅男在线 | 日韩精品国产一区 | 一级v片| 姑娘第5集在线观看免费好剧 | 日韩精品一区二区三区无码专区 | 青青青草国产 | 国产亚洲欧美在线视频 | av在线三区 | 欧美精品一二三区 | 国产精品久久久一区二区 | 91插插插影库永久免费 | 91精品国产福利在线观看 | 成人拍拍拍 | 亚洲最新偷拍 | 美女扒开让男人桶爽 | 国产午夜精品无码 | 亚洲爱 | 狠狠干夜夜骑 | 欧美一线天 | www.69pao.com| 亚洲丝袜在线观看 | 亚洲av网址在线 | 欧美aaaa视频 | 爱乃なみ加勒比在线播放 |