Android - 动态设置自定义View的id - setId
来源:互联网 发布:windows打补丁软件 编辑:程序博客网 时间:2024/04/28 20:27
说明:
动态给自定义view设置id
AndroidStudio会报错:
因为在sdk17(4.2.2)以上可以使用myView.setId(View.generateViewId())才行,为了兼容,里面的id必须使用静态int类型。
解决三种写法:
1、sdk17(4.2.2以上)
tv_leftBtn_title.setId(View.generateViewId());
2、兼容自己写Utils类:
IdUtils.java(常用在sdk里面)
/** * id * 兼容sdk17(4.2.2)以下 * Created by zst on 2016/12/5. */public class IdiUtils { private static final AtomicInteger sNextGeneratedId = new AtomicInteger(1); public static int generateViewId() { for (;;) { final int result = sNextGeneratedId.get(); // aapt-generated IDs have the high byte nonzero; clamp to the range under that. int newValue = result + 1; if (newValue > 0x00FFFFFF) newValue = 1; // Roll over to 1, not 0. if (sNextGeneratedId.compareAndSet(result, newValue)) { return result; } } }}调用
tv_leftBtn_title.setId(IdiUtils.generateViewId());3、写再配置xml文件里
Ids.xml(常用在有布局的app里面)
<resources> <item type="id" name="snack" /></resources>
调用newRadioButton.setId(R.id.snack);
1 0
- Android - 动态设置自定义View的id - setId
- Android 动态设置View的id——setId
- Android动态setId,避免id重复
- Android 动态设置view的id,id设置为数字
- Android中View.setId()
- android在代码中为new出的控件设置ID及setId()异常
- android 中使用View.setId(int id),如何避免id冲突呢?
- Android 如何解决代码中view的setId红线问题
- android 中View.setID,与getID
- Android如何正确使用View.setId
- Android 在自定义view中动态设置布局规则
- android自定义View设置大小的方法
- Android 动态设置View 的问题
- Android动态设置view的高度宽度
- View.setId在Android studio下使用报错的解决办法
- 【Android】如何在自定义View中设置自定义的属性
- Android之 ImageView中setId()的作用
- Android自定义动态的View,实现飘雪的效果
- mysql中isnull,ifnull,nullif的用法
- 奇异值分解(SVD)预备知识
- SBEC016智能电池管理方案
- css3 box-shadow 盒子效果
- C C++中main函数的参数
- Android - 动态设置自定义View的id - setId
- spring管理事务声明式事务和编程式事务
- JAVA基础(数组(1))
- eclipse、myeclipse端口占用解决方法
- 2016Y GDUT新生杯初赛 Problem G: Pigofzhou和他的那么多个学妹
- LIGHT OJ 1245 - Harmonic Number (II) 【找规律】
- 概率题(扔硬币)
- php一般容易出现的10个错误
- 在线重做日志组的管理