如何扩展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)
答案 0 :(得分:1)
在代码中使用findViewById的方式与使用普通ImageView相同但使用强制转换为自定义视图的方式
MyImageView myImageView = (MyImageView)findViewById(R.id.name);
在xml中,您需要指定类的完整路径
<com.package.name.MyImageView
android:id="@+id/name"
.... />
答案 1 :(得分:0)
使用findViewById
查找视图,必须在.xml文件中定义。