2016-11-21 2 views
-1

ImageView 클래스를 확장하는 ImageViewProduct 클래스를 만들어 ImageViewProduct 개체에 일부 변수를 저장할 수 있습니다. 하지만 난 .. setOnClickListener 방법 내부개체 확장 및 메서드 변경

ImageViewProduct 클래스를 ImageViewProduct의 변수를 가져올 수 없습니다

public class ImageViewProduct extends ImageView { 
    boolean toUpload = false; 

    public ImageViewProduct(Context context) { 
     super(context); 
    } 

    public void setToUpload(boolean toUpload) { 
     this.toUpload = toUpload; 
    } 

    public boolean isToUpload() { 
     return toUpload; 
    } 
} 

MainActivity 클래스 :

ImageViewProduct ivProduct = new ImageViewProduct(this); 
ivProduct.setToUpload(true) 
ivProduct.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(final View v) { 
     Log.i("zihad", "is to upload : "+v.isToUpload()); 
    } 
}; 

OnClickListener를 내부 로그 오류 cannot resolve method 'isToUpload()'입니다. onClick(final View v)onClick(final ImageViewProduct v)으로 변경하려고 시도했지만 오류가 발생했습니다. 그것을 고치는 방법?

답변

1

ImageViewProduct에만 적용하면 vImageViewProduct으로 변환 할 수 있습니다.

public void onClick(final View v) { 
    ImageViewProduct productView = (ImageViewProduct) v; 
    Log.i("zihad", "is to upload : "+productView.isToUpload()); 
} 

More info on casting at this QnA.

0

변경

Log.i("zihad", "is to upload : "+v.isToUpload()); 

Log.i("zihad", "is to upload : "+ivProduct .isToUpload()); 

에 V보기의 변수입니다. isToUpload는 ivProduct 클래스의 메소드입니다.

+0

내가 많은 ImageViewProduct 객체가있는 경우가 여전히 작동인가? – zihadrizkyef

관련 문제