如何在没有 id 的情况下从以编程方式注入的视图中检索数据

How to retrieve data from view injected programmatically without id

我有滚动视图和线性布局。根据我得到的数据,我分别生成一个视图并将其注入到主布局中。

现在每个视图都包含特定值但没有 id,因为它们是动态注入的。如何访问每个值以进行进一步处理。 我试过点击监听器但没有得到好的结果。 我想补充一件事,这些观点可能会有所不同,有些观点是多种多样的。有些是单身等 我需要您的宝贵建议,如有必要,我会 post 编写代码。

正如评论中已经提到的:View 有一个 setId(int id) 方法。
使用它来访问您的视图。将它们存储在某个列表中,映射或写入文件系统以供进一步使用。 您还可以使用 SharedPreferences 将视图的信息传递给另一个意图。

首先,ViewClass有一个setId()方法。由于您所有的视图都继承自此 class,它们也有此方法。作为一个 id,你可以在之前的 xml 文件中指定视图,所以你不会与双重或更多使用的 id 发生任何冲突,如 descibed here.

如果你使用的是 API >= 17 如果你担心 id 冲突,你可以使用 generateViewId() 方法。

您也可以考虑使用 setTag() 而不是 setId()