【发布时间】:2012-09-25 21:50:03
【问题描述】:
我正在向线性布局添加子视图。子视图本身在相对布局中有一些文本视图和图像视图。 单击按钮时,子视图会动态添加到 LinearLayout 中。现在我可以添加子视图,如图所示。 http://dl.dropbox.com/u/50249620/SC20120926-031356.png 我必须做的是唯一地确定单击了哪个子视图以显示适当的操作。 我在其中添加子视图的代码。
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
customView1 = inflater.inflate(R.layout.people, null);
peopleName = (TextView) customView1.findViewById(R.id.peopleName);
peopleName.setText(autoComplete.getText());
customView1.setId(peopleInvitedRelativeLayout.getChildCount() + 1);
params4 = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
customView1.setLayoutParams(params4);
peopleInvitedRelativeLayout.addView(customView1, params4);
}
});
任何帮助或建议将不胜感激。谢谢。
【问题讨论】:
-
如果我知道父LinearLayout中子视图的索引,我可以获得id,但我无法获取用户点击的子视图的索引。
-
在
onClick()事件中,点击的View作为参数传递。您可以在 click 事件中对该视图调用getId()。 -
triggs 我也有类似的疑问。请帮忙:stackoverflow.com/questions/17061833/…