我有一个GridLayout在ListView活动中显示玩家数据(在未来我可能会改为真正的ListView,但出于这个问题的目的,认为必须是GridLayout)。
在活动结果中,我必须向布局添加新行,并且由于所有行都具有相同的组件,因此我将所有行组件放在具有合并父级的新布局文件中,并且当需要添加行时,只需使用GridLayout作为rootView并附加到true。
问题是当我添加一个新行时,因为组件id是相同的,所以我一直在更改第一行的属性(TextView的文本)。
如何使用相同的ID访问其他视图?
答案 0 :(得分:2)
我已多次搜索,我发现的唯一一件事就是你不能这样做。
所以我必须得到类似的选择:
<merge>
元素更改为其他元素。所以它效率很低。在我的情况下,我使用索引让我使用代码:
inflater.inflate(R.layout.player_in_match, llPlayers, true);
// 4 Is because I have 4 elements in the R.layout.player_in_match
// and I wanna get the first of them.
TextView tvName = (TextView) llPlayers.getChildAt(llPlayers.getChildCount() - 4);
tvName.setText(name);