ListView的每个子条目中带有按钮,点击按钮需要获取当前的位置,onItemClick方法在点击子条目的时候能够获取当前位置,但是点击按钮时是不会触发这个方法的,解决方法有两个:
方法1. 因为getView方法中的posiition变量是一个局部变量,局部变量不能用在全局变量上,所以需要在这里重新定义一个变量,
final int curPosition = position; curPosition 就是当前点击按钮所在的位置;
方法2.在getView方法中给按钮加上setTag(position);设置按钮所在位置, 在按钮的onClickListener方法中通过点击的view获取当前按钮所在位置,如下:
设置:btnRight.setTag(position);
获取:btnRight.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
int position = (Integer) v.getTag();
}
});