我有一个ListView,每行包含按钮.我不想为每个按钮分配自己的监听器对象,因为它会创建很多对象.但问题是如何在单击按钮时确定行号或上下文信息?
每个视图(包括按钮)都可以通过其setId(int)方法"识别" .
单击时,您将传递视图到a View.OnClickListener.onCLick(view).只需提取ID,您就会知道这是哪个按钮.
创建按钮时:
button.setId(1);
Run Code Online (Sandbox Code Playgroud)
当单击此按钮时:
button.setOnClickListener( new OnClickListener() {
public void onClick(View v) {
int id = view.getId();
// do something with the Id
}
});
Run Code Online (Sandbox Code Playgroud)
更新:答案更新基于@Octavian Damiean的评论:用于识别视图setId()应该用来代替setTag().
| 归档时间: |
|
| 查看次数: |
978 次 |
| 最近记录: |