之前在上篇kotlin配置中我曾说道kotlin有一个强大的功能:

        
  1. apply plugin: 'kotlin-android-extensions'
作为Android开发人员,我们在进行控件使用时,首先要声明和查询这个控件是什么类型?在哪里?
类型就是我要知道我这是textview还是button还是edittext呢,还是说是LinearLayout呢?通常我们都是要先声明出来。 例如: private Button mBtnLogin;

在哪里?那就是要找到这个控件了,不能我这有一百个button全都要吧,那还不代码界大乱啊。之前可能就要findViewById()方法来找到我们要操作的button了,当然现在已经有许多的注解简化了这一流程。但是kotlin告诉你,这还不行你这还不够简洁不够方便,那么kotlin是做到了什么效果呢?那就是你不在需要多写那一行声明View了,也不用在寻找你的View的ID了!我就什么什么狗了,这是要干嘛。给出以下代码看一下:

import android.os.Bundleimport android.support.v7.app.AppCompatActivityimport android.widget.Toastimport kotlinx.android.synthetic.main.activity_login2.*class LoginActivity : AppCompatActivity() {//    private var btn_login: Button? = null    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_login2)//        btn_login= findViewById(R.id.btn_login) as Button?        btn_login!!.setOnClickListener { login() }    }        fun login(){        btn_login!!.text = "登陆中"        Toast.makeText(this@LoginActivity,"登录成功",Toast.LENGTH_SHORT).show()    }}

首先先说下上面这个页面的布局上有一个Button,你会发现我已经把声明Button和findViewById都已经给注释掉了 。那么按照以前这是肯定跑不通的,估计要闪退了。但是在kotlin下完美跑通。


Kotlin Android Extensions are another Kotlin plugin that is included in the regular one, and that will allow to recover views fromActivities,Fragments yViewsin an amazing seamless way.

也就是说这个插件完美的连接了视图xml和activity。

就在加入apply plugin:'kotlin-android-extensions'后只要在导入import kotlin.android.synthetic.main.activity_login2.*,这就解决了。把你在.xml里定义的控件的ID直接拿来用就行了,既当了控件View又当了ID,真的是身兼多职啊。(当然一定要一样啊),这是要把映射做到极致啊

还有就是发现没,写了这么一段代码 btn_login.text="登陆中", 这就又是kotlin的又一大改进,给view设置值,之前的setText()也给省略了。当然还有很多的,就不在多说了


更多相关文章

  1. Android知识点记录: 使用代码设置 android 上listView的条目的点
  2. Android 4.1源代码今日将发布
  3. Android的源代码结构(转)
  4. Android 代码混淆
  5. Android初级-Android 日志输出和Debug跟踪,常用控件(中),资源
  6. Android之进度条控件和常用资源分类总结
  7. Android评分控件RatingBar使用实例解析
  8. 使用android studio 查看 android 的源代码
  9. [置顶] Android常用适配器控件

随机推荐

  1. android studio 的下拉菜单Spinner使用详
  2. 基于OpenCV和OpenGL 的简易美颜相机
  3. android中的spannable的使用(TextView分段
  4. android UI小结(五)
  5. Android 组件安全
  6. android - ViewPager 监听左右滑动
  7. Error: Error parsing D:\android-sdk-w
  8. OpenMax在Android上的实现
  9. android图形化学习1
  10. 认识Android手机--来自MIUI