android 动态添加控件控制属性问题
16lz
2021-01-25
android移动应用开发关于动态控件添加控制属性的问题,正常情况动态添加的控件是找不到的。
在工程目录下,gen目录R文件下是没有动态分配地址的,findViewById(R.id.xxxx)找不到控件,只能动态在内存空间找。所以findViewById(int id)可以直接使用整形的id。通常情况下,可以为动态添加的控件设置整形id,寻找控件可以使用自己设置的整形地址。虽然在工程目录中找不到id,但动态添加的控件是有地址的。
如果不设置地址,android会默认为动态添加的控件设置一个默认的地址,-1。所以通过findViewById(int id)找的id为正常情况下的默认地址值-1。
要想真正地控制新添加的控件,只需要手动的为新控件设置一个容易记的id,一般情况下,为新控件设置一个整形的地址,比如1,2等等,然后通过findViewById(id)来查找控件,正因为在工程目录下没用动态地添加地址id,所以把地址值设置成R.id.xxxx无效,比如可以通过findViewByid(1)来直接来控制新添加的id,新添加的id可以使用setId(int id)为新添加的控件设置新的id,这样就可以找到动态添加的控件控制其属性。
更多相关文章
- 万字长文带你了解最常用的开源 Squid 代理服务器
- Android使用Google Map服务-根据地址定位
- Android开发(一):Android(安卓)Studio及SDK下载安装教程2020
- Android(安卓)控件架构
- 使用Vitamio打造自己的Android万能播放器(9)—— 在线播放 (在线电
- Android(安卓)GridView控件自定义
- Android(安卓)自定义View(二):创建复合控件
- Android中的事件传递机制
- 八款常见的Android游戏引擎