Kotlin通过Id操作View,Adapter和动态加载Xml文件也可以类似操作
2017-08-18 19:10
441 查看
如果使用kotlin,什么butterknife绑定,Xutil注解都不需要,只需要通过id就可以操作view,非常方便,但是在使用的过程中还是遇到两个值得记录的问题如下:
针对adapter中通过id来操作
针对动态加载布局通过id来操作
其实两者本质上是一样的,都是通过view访问Id来操作,具体是由kotlin来绑定
上代码一步一步来解析
首先想要用id来操作别,我们的builde文件要加上Extensions配置
然后就可以愉快的使用
activity和fragment直接像想这样就可以访问了:
通过id设置监听:
可以自动导包像这样
adapter这样操作:
要导入的包路径:
通过ViewId访问:
holder.itemView表示adapter每条数据view
动态加载的view操作:
要导入的包与Adapter类似,直接view.id就可以操作了
例如我这里:
nav_view?.getHeaderView(0)获取父View,后边就可以通过id愉快的操作啦
目前网上这类资料还没有,官网描述也不是特别清楚,这里仅作记录,如有疑问可以留言
针对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愉快的操作啦
目前网上这类资料还没有,官网描述也不是特别清楚,这里仅作记录,如有疑问可以留言
相关文章推荐
- ViewPager中动态添加XML布局文件,并获取XML文件中控件ID的操作(inflate)
- Android学习笔记_31_通过后台代码生成View对象以及动态加载XML布局文件到LinearLayout
- Android学习笔记_31_通过后台代码生成View对象以及动态加载XML布局文件到LinearLayout
- 线性布局通过适配器可以动态加载view
- [ViewPager、一]ViewPager和PagerAdapter做动态加载页(类似listView适配根据data新增的效果)
- Android View 动态加载不同xml布局文件
- Androiid 如何动态加载assets目录下的xml布局文件(包括Drawable xml)
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型
- Hibernate动态建表,通过hbm.xml配置文件创建数据表,进行数据库操作, 动态模型
- 实现动态的XML文件读写操作(依然带干货)
- Flex: 通过 DataGrid 操作 XML 文件
- VC++通过动态生成并加载DLL,实现可执行文件的自删除
- 解析xml文件动态加载用户界面
- js 如何通过js脚本动态加载js文件及读写cookie
- 关于PHP-Zend framework2 框架 学习过程。 阅前须知: ZF2中的配置文件是可以静态文件配置来注册和通过相关函数动态注册。 1.EventManager(事件驱动),关于事件驱动,在ZF2相关资料没有详细说明,可以参考ANDROID的事件驱动,MFC的消息响应/事件驱动。
- C# 利用自带xsd.exe工具操作XML-如通过XML生成xsd文件
- VC++通过动态生成并加载DLL,实现可执行文件的自删除
- 通过XmlDocument动态生成XML文件
- C#动态加载DLL,通过配置文件实现对程序集的即插即用
- Silverlight实用窍门系列:2.Silverlight动态加载外部XML指定地址的WebService---(动态加载外部XML文件中指定的WebService地址)