java检索动态创建的布局ID并将其与列表项匹配
我有一个对象列表(l
),其中包含从数据库检索到的数据。我用这些数据动态地创建一个表布局,并为表单元格添加一个id
row.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT));
row.setId(View.generateViewId());
rb.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, TableRow.LayoutParams.WRAP_CONTENT));
rb.setId(View.generateViewId());
rb.setText(l.getText());
rb.setOnClickListener(handleOnClickText(rb));
这就是我感兴趣的处理方法
View.OnClickListener handleOnClickText(final TextView text) {
return new View.OnClickListener() {
public void onClick(View v) {
// TODO
// retrieve id of clicked item
// match id to list entry
// do something with it
}
};
}
我的问题是如何将单击项的id
(以及如何检索它)与创建它的列表条目相匹配,以便为数据库创建查询
我在表中有多个元素,它们是由一个列表条目创建的(一些TextView和一个按钮,但问题对所有人都是一样的)
可能吗
我想到的另一个解决方案是创建映射(字典?)将id
添加到列表项中(如何在setId( )
之后检索id
以将其添加为值?),但是如何检索id仍然是一个问题
# 1 楼答案
是的,你可以用地图(字典)。 首先:
然后:
并使用map key获取特定id,如下所示: