android – 动态布局中我自己的ID的安全号码范围?

我正在开发一个具有固定和动态布局部分的活动.动态部分(因此创建的小部件的数量和类型)以这种方式基于数据库值:
对于每个数据库行,我将有一组小部件.并且每个组的组件取决于该数据库行的对象类型(从一列确定).

为了保存/恢复实例状态,所有窗口小部件都需要有ID.我想确保我自己的ID不会与生成的R类的ID冲突.

为了更好地处理应用程序(找到哪个窗口小部件映射到哪个数据对象的哪个字段),编号方案像ID = row * 100 fieldindex将是有帮助的. Fieldindex不是一个列数.每个对象类型都应该有自己的字段指示.

由于生成的R中的ID值似乎没有连续的数字,所以我不能仅仅在R中预定义一个ID池,而是使用这些ID而不需要额外的映射.
反对预定义池的第二个原因:大量的fieldindices将导致一个大的ID池.第三,ID池的大小将限制可显示的行数.

我可以使用我自己的布局组件的ID吗?
在gen /文件夹中查看R.java,我的印象是生成的ID都大于0x7f000000.这是否有保证?
如果是,从0x00000000到0x7f000000的范围是免费使用还是保留用于android的内部目的?

解决方法

为什么要避免相同的ID?只有必要的是:
所以,你可以使用你的公式

ID = row * 100 + fieldindex

即使项目不是独一无二的,我会很好的工作.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...