扩展ImageView android?

时间:2012-01-18 13:55:45

标签: android imageview extends

如何扩展ImageView,以便我可以在我的代码findViewById中使用? 我刚刚得到25 ImageView,我需要点击一个才能获得一些价值。 我知道我必须创建新类,扩展ImageView并添加构造函数,但是当我尝试实现findViewById时,我收到错误:

FATAL EXCEPTION: main
java.lang.ClassCastException: android.widget.ImageView
    at com.emirates.worldstreets.explore.FashionTab.setUpStars(FashionTab.java:457)
    at com.emirates.worldstreets.explore.FashionTab.fillUpDetails(FashionTab.java:376)
    at com.emirates.worldstreets.explore.FashionTab.access$8(FashionTab.java:326)
    at com.emirates.worldstreets.explore.FashionTab$4.onItemClick(FashionTab.java:317)
    at android.widget.AdapterView.performItemClick(AdapterView.java:284)
    at android.widget.ListView.performItemClick(ListView.java:3382)
    at android.widget.AbsListView$PerformClick.run(AbsListView.java:1696)
    at android.os.Handler.handleCallback(Handler.java:587)
    at android.os.Handler.dispatchMessage(Handler.java:92)
    at android.os.Looper.loop(Looper.java:123)
    at android.app.ActivityThread.main(ActivityThread.java:4627)
    at java.lang.reflect.Method.invokeNative(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:521)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
    at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:1)

在代码中使用findViewById的方式与使用普通ImageView相同但使用强制转换为自定义视图的方式

MyImageView myImageView = (MyImageView)findViewById(R.id.name);

在xml中,您需要指定类的完整路径

<com.package.name.MyImageView 
    android:id="@+id/name"
    .... />

答案 1 :(得分:0)

使用findViewById查找视图,必须在.xml文件中定义。