Variable groupPosition is accessed from within inner class,needs to be declared final.
继承一下
class MyClickListener implements View.OnClickListener {
private int groupPosition;
private int childPosition;
public MyClickListener(int groupPosition,int childPosition){
this.groupPosition = groupPosition;
this.childPosition = childPosition;
}
public void onClick(View v) {
System.out.println(this.groupPosition);
System.out.println(this.childPosition);
}
}
然后
childImage.setOnClickListener(new MyClickListener(groupPosition,childPosition));
写一个内部类就行了。
private class ShareOnClickListener implements OnClickListener {
private int position;
public ShareOnClickListener(int position) {
this.position = position;
}
@Override
public void onClick(View v) {
// 。。。。。。
}
}
调用:
hHolder.shareLl.setOnClickListener(new ShareOnClickListener(position));
这个简单啊,在方法参数定义前头加一个final就好了。因为这是个匿名内部类,需要传入全局变量或者是final修饰的变量