Android如何正确使用View.setId
2016-08-30 18:16
567 查看
有时开发会遇到在java代码中不依赖res-layout动态引入布局,这时候如果我们要给引入的View添加Id,就需要用到View.setId方法了,但是当我们在代码中使用这个方法的时候AS会报错。以前使用Eclipse好像不报错,记不大请了,正确使用方式有两种:
一、通过资源文件
在res/values目录下新建ids文件并在文件中设置id
然后再在java代码中引用它
二、通过代码生成,在Api>=17的时候,直接调用View的静态方法:View.generateViewId();即可;
在Api<17的时候,只需要点进View的这个方法,把它copy下来作为我们自己的方法直接用就好了
一、通过资源文件
在res/values目录下新建ids文件并在文件中设置id
<resources> <item name="test_view" type="id" /> </resources>
然后再在java代码中引用它
test_view.setId(R.id.test_view);
二、通过代码生成,在Api>=17的时候,直接调用View的静态方法:View.generateViewId();即可;
在Api<17的时候,只需要点进View的这个方法,把它copy下来作为我们自己的方法直接用就好了
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; } } }
相关文章推荐
- Android开发如何正确使用WebView
- android 中使用View.setId(int id),如何避免id冲突呢?
- Android-如何正确使用WebView
- Android开发必知--使用View.setId的正确姿势
- Android开发如何正确使用WebView
- [android]如何让TextView使用超链接
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- 【Android动态布局】之【使用addView方法时,如何保持已有动态控件位置不被改变】
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- android中如何使用ViewRootImpl这个类
- 在使用ViewPager前正确导入android.support.v4.jar包
- Android中如何判别WebView加载完毕并使用ProgressDialog进行提示
- [转载+实践理解]Android动画---如何正确使用平移动画(关于fillBefore和fillAfter的一点说明)(转载)
- android 自定义webview 如何使用gps 如何用模拟的gps
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- Android中如何使用ViewPager实现类似laucher左右拖动效果
- Android如何使用WebView访问https的网站
- Android中如何使用ViewPager实现类似laucher左右拖动效果