2016-12-14 86 views
2

我需要將一個數字保存在ImageView對象中,以便稍後在我的代碼中訪問它。這就是爲什麼我創建的延伸ImageView自定義類:SimpleDraweeView無法轉換爲擴展ImageView的自定義視圖

public class SliderView extends ImageView { 

    private int position; 

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

    public SliderView(Context context, AttributeSet attrs) 
    { 
     super(context, attrs); 
    } 
    public SliderView(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    public void setViewPosition(int pos){ 
     this.position = pos; 
    } 

    public int getPosition(){ 
     return position; 
    } 
} 

這是.XML我SimpleDraweeView對象:

<com.facebook.drawee.view.SimpleDraweeView 
    android:id="@+id/bottomslider" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    /> 

而我想實現的是:

final SliderView mediaImage = (SliderView) convertView.findViewById(R.id.bottomslider); 

當我嘗試運行上面的代碼時,出現此錯誤:

java.lang.ClassCastException: com.facebook.drawee.view.SimpleDraweeView cannot be cast to android.custom.SliderView

如果我用ImageView而不是SliderView一切正常,但我沒有我需要的功能。有什麼解決方法嗎?

+0

你想用這個'SimpleDraweeView mediaImage =(SimpleDraweeView)'而不是這個'SliderView mediaImage =(SliderView)我猜';或者在xml中使用其他方法 –

回答

0
public class SliderView extends ImageView { 

private int position; 

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

public SliderView(Context context, AttributeSet attrs) 
{ 
    super(context, attrs); 
} 
public SliderView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
} 

public SliderView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { 
    super(context, attrs, defStyleAttr, defStyleRes); 
} 

public void setViewPosition(int pos){ 
    this.position = pos; 
} 

public int getPosition(){ 
    return position; 
} 

}

試試這個,讓我知道,如果這個工程