Gen*_*dus 10 layout android dynamic
我正在开发一个具有固定和动态布局部分的Activity.动态部分(以及创建的小部件的数量和类型)以这种方式基于数据库值:对于每个数据库行,我将有一组小部件.并且每个组的组件取决于该数据库行的对象类型(从其中一列确定).
为了保存/恢复实例状态,所有小部件都需要具有ID.我想确保我自己的ID永远不会与生成的R类中的ID冲突.
为了在app中更好地处理(找到哪个小部件映射到哪个数据对象的字段),ID = row*100 + fieldindex等编号方案会有所帮助.Fieldindex并不是一个列号.每个对象类型都应该有自己的fieldindices.
由于生成的R中的ID值似乎没有连续的数字,我不能只预定义R中的ID池并使用它们而不需要额外的映射.针对预定义池的第二个原因:大量的fieldindices会导致大型ID池.第三,ID池的大小将限制可以显示的行数.
是否有一个安全的数字范围,我可以用于我自己的布局组件的ID?看一下gen /文件夹中的R.java,我觉得生成的ID都大于0x7f000000.这有保证吗?如果是,是否可以使用0x00000000到0x7f000000的范围,还是保留用于android的内部用途?
为什么要避免相同的 id?唯一需要的是:
An ID need not be unique throughout the entire tree, but it should be unique within the part of the tree you are searching。所以,你可以使用你的公式
ID = 行 * 100 + 字段索引
我会做得很好,即使它在项目中不是唯一的。
| 归档时间: |
|
| 查看次数: |
990 次 |
| 最近记录: |