我需要在ImageView
对象中保存一个数字,以便稍后在我的代码中访问它。这就是为什么我创建了一个扩展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无法转换为 android.custom.SliderView
如果我使用ImageView
代替SliderView
,一切正常,但我没有我需要的功能。有没有解决方法?
答案 0 :(得分: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;
}
}
试试这个,让我知道这是否有效